|
| int | rdb_create () |
| | 创建接口
|
| |
| int | rdb_setslavedb (int h, const char *sip, unsigned short wport, const char *sUser, const char *sPass) |
| | 设置从库
|
| |
| int | rdb_setmessagenotify (int h, rdbcd_onmessage fun, void *param) |
| | 设置消息通知回调函数
|
| |
| int | rdb_destory (int h) |
| | 删除句柄
|
| |
| int | rdb_connectex (int h, const char *surl, const char *sUser, const char *sPass, int nTimeOutSec) |
| | 高级模式连接实时库
|
| |
| int | rdb_connect (int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass) |
| | 连接实时库
|
| |
| int | rdb_connectasyn (int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass) |
| | 异步连接实时库
|
| |
| int | rdb_disconnect (int h) |
| | 断开实时库
|
| |
| bool | rdb_isconnected (int h) |
| | 判断连接状态
|
| |
| int | rdb_curdb (int h) |
| | 获取当前连接的实时库
|
| |
| int | rdb_curdb_inver (int h) |
| | 获取当前实时库的内部版本
|
| |
| int | rdb_getruninfo (int h, const char *stationid, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param) |
| | 从中心站查询子站运行信息
|
| |
| int | rdb_getworkmode (int h, int *pworkmode) |
| | 读取工作模式
|
| |
| int | rdb_setworkmode (int h, int workmode, int *pworkmode) |
| | 设置工作模式
|
| |
| int | rdb_apiver () |
| | rdbapi的文件版本
|
| |
接口句柄的创建/销毁,设置回调函数,设置从库,连接,断开,包含同步和异步连接模式。
◆ rdb_apiver()
rdbapi的文件版本
- 自从
- rdb2024.9 inver 5119
- 返回
- 返回本api动态库自身的文件版本,整数,例如: 5101
◆ rdb_connect()
| int rdb_connect |
( |
int | h, |
|
|
const char * | sServerIP, |
|
|
unsigned short | wPort, |
|
|
const char * | lpszUser, |
|
|
const char * | lpszPass ) |
连接实时库
同步方式连接实时库,非加密通道模式,兼容性接口,新应用推荐使用 rdb_connectex 接口
- 参数
-
| h | [in] rdb_create创建的句柄. |
| sServerIP | [in] 实时库服务器IP地址,点分字符串格式,比如"192.168.1.61". |
| wPort | [in] 实时库TCP服务端口. |
| lpszUser | [in] 用户账号名. |
| lpszPass | [in] 用户账号密码. |
- 返回
- 返回 0 表示成功,其余值为失败错误码
◆ rdb_connectasyn()
| int rdb_connectasyn |
( |
int | h, |
|
|
const char * | sServerIP, |
|
|
unsigned short | wPort, |
|
|
const char * | lpszUser, |
|
|
const char * | lpszPass ) |
异步连接实时库
非加密通道,异步模式连接实时库,需要先调用 rdb_setmessagenotify 设置通知回调函数,兼容性接口,新应用推荐使用 rdb_connectex 接口
- 参数
-
| h | [in] rdb_create创建的句柄. |
| sServerIP | [in] 实时库服务器IP地址,点分字符串格式,比如"192.168.1.61". |
| wPort | [in] 实时库TCP服务端口. |
| lpszUser | [in] 用户账号名. |
| lpszPass | [in] 用户账号密码. |
- 返回
- 返回 0 表示成功,其余值为失败错误码。返回0并不表示已经连接成功,结果由rdb_setmessagenotify 设置通知回调函数通知。
◆ rdb_connectex()
| int rdb_connectex |
( |
int | h, |
|
|
const char * | surl, |
|
|
const char * | sUser, |
|
|
const char * | sPass, |
|
|
int | nTimeOutSec ) |
高级模式连接实时库
采用url作为连接参数,支持同步异步模式的高级连接接口。使用异步模式需要先调用 rdb_setmessagenotify 设置通知回调函数。
- 自从
- version 5104 开始有效
- 参数
-
| h | [in] rdb_create创建的句柄. |
| surl | 连接URL字符串, "wss://192.168.161:921" 或者 "ws://192.168.161:921",或者"wss://kipwa.net" |
| sUser | 账号 |
| sPass | 密码 |
| nTimeOutSec | 0表示异步连接,立即返回,大于0表示同步方式,等待超时秒数 |
- 返回
- 返回0成功;非0为错误码;异步模式会立即返回0,连接成功后会使用回调通知。
◆ rdb_create()
创建接口
句柄为大于等于0的整数,一个句柄代表一个API对象,如果要建立多个到实时库的连接,可以创建多个句柄,每个进程最多可以创建64个句柄。
- 返回
- 返回句柄,-1表示失败,>=0为成功创建的句柄号
printf("error\n");
#define SE_ERRHANDLE
错误的句柄
Definition rdbapi.h:21
◆ rdb_curdb()
获取当前连接的实时库
当使用主从库双连接时,通过本函数返回当前使用的实时库连接。
- 返回
- 0:主库; 1:从库; -1表示失败
- 自从
- version 5.0.6.9开始
◆ rdb_curdb_inver()
| int rdb_curdb_inver |
( |
int | h | ) |
|
获取当前实时库的内部版本
- 自从
- version 5104开始支持该接口
- 参数
-
- 返回
- -1:失败(实时库版本过低不支持本接口); >0 内部版本号
◆ rdb_destory()
删除句柄
不再使用实时库连接后,使用这个函数删除句柄,释放系统资源,使用前先调用 rdb_disconnect 断开连接.
- 参数
-
- 返回
- 返回 0 表示成功,其余值为失败错误码
◆ rdb_disconnect()
| int rdb_disconnect |
( |
int | h | ) |
|
断开实时库
不再使用实时库连接后,先使用rdb_disconnect断开连接,然后调用rdb_destory销毁句柄释放资源.
- 参数
-
- 返回
- 返回 0 表示成功,其余值为失败错误码
◆ rdb_getruninfo()
| int rdb_getruninfo |
( |
int | h, |
|
|
const char * | stationid, |
|
|
void(*)(const char *jsresp, int sizeresp, void *app_param) | fun, |
|
|
void * | app_param ) |
从中心站查询子站运行信息
- 参数
-
| h | [in] rdb_create创建的句柄. |
| stationid | [in] 子站ID,null表示从目前连接的站查询。stationid用 "子站名.master" 表示子站主站,"子站id.slave" 表示子站从站。 |
| fun | [in] 接收消息回调函数。 |
| app_param | [in] 应用层传递的参数, fun函数的最后一个参数. |
- 返回
- 0: success; 其他为错误码
◆ rdb_getworkmode()
| int rdb_getworkmode |
( |
int | h, |
|
|
int * | pworkmode ) |
读取工作模式
- 参数
-
| h | rdb_create创建的句柄 |
| pworkmode | 成功会回填工作模式; 0:work模式; 1:管理模式 |
- 返回
- 成功返回0,否则返回错误码.
设置为manage模式就可以强制不转发,只对连接的服务器操作。可以避免误会,比如已经使用rdb_datadelete命令删除了备机上的数据,结果在work模式还能查到数据。
◆ rdb_isconnected()
| bool rdb_isconnected |
( |
int | h | ) |
|
判断连接状态
- 参数
-
- 返回
- 返回 非0 表示处于连接状态; 0表示处于断开状态
◆ rdb_setmessagenotify()
设置消息通知回调函数
异步连接时需要使用本函数设置连接成功和失败的通知回调函数。
- 参数
-
| h | [in] rdb_create创建的句柄. |
| fun | [in] 处理消息通知的回调函数 rdbcd_onmessage ,注意和调用者不在一个线程中 |
| param | [in] 回调函数自己使用的参数 |
◆ rdb_setslavedb()
| int rdb_setslavedb |
( |
int | h, |
|
|
const char * | sip, |
|
|
unsigned short | wport, |
|
|
const char * | sUser, |
|
|
const char * | sPass ) |
设置从库
在rdb_create之后,connect之前设置从库的参数,从库的协议和主库相同, 即主库是ws协议则从库也是ws协议通道,主库是wss协议则从库也是wss协议通道。 主库和从库采用切换机制,同一时刻只有一个活动连接,主库失败或断开后尝试使用从库参数连接,从库失败或断开后尝试使用主库参数连接。 只有断开才会发生切换连接操作。
- 自从
- fileversion 5.0.6.9开始有效
- 参数
-
| h | [in] rdb_create创建的句柄. |
| sip | [in] ipv4地址. |
| wport | [in] 服务端口. |
| sUser | [in] 账号. |
| sPass | [in] 账号密码. |
- 返回
- 0:成功; -1表示失败
◆ rdb_setworkmode()
| int rdb_setworkmode |
( |
int | h, |
|
|
int | workmode, |
|
|
int * | pworkmode ) |
设置工作模式
- 参数
-
| h | rdb_create创建的句柄 |
| workmode | 0:work模式; 1:管理模式 |
| pworkmode | 成功会回填工作模式; 0:work模式; 1:管理模式 |
- 返回
- 成功返回0,否则返回错误码.
设置为manage模式就可以强制不转发,只对连接的服务器操作。