libpomeloPomelo 的 C 语言客户端
libpomelo 是 Pomelo 的 C 语言客户端 SDK。
依赖
使用
创建客户端实例
// create a client instance. pc_client_t *client = pc_client_new();
添加 listeners
// add some event callback. pc_add_listener(client, "onHey", on_hey); pc_add_listener(client, PC_EVENT_DISCONNECT, on_close);
Listener 定义
// disconnect event callback. void on_close(pc_client_t *client, const char *event, void *data) { printf("client closed: %d.\n", client->state); }
Pomelo defined listeners
#define PC_EVENT_DISCONNECT "disconnect" #define PC_EVENT_TIMEOUT "timeout" #define PC_EVENT_KICK "onKick"
连接服务器
struct sockaddr_in address; memset(&address, 0, sizeof(struct sockaddr_in)); address.sin_family = AF_INET; address.sin_port = htons(port); address.sin_addr.s_addr = inet_addr(ip); // try to connect to server. if(pc_client_connect(client, &address)) { printf("fail to connect server.\n"); pc_client_destroy(client); return 1; }
Send a notify
// notified callback void on_notified(pc_notify_t *req, int status) { if(status == -1) { printf("Fail to send notify to server.\n"); } else { printf("Notify finished.\n"); } // release resources json_t *msg = req->msg; json_decref(msg); pc_notify_destroy(req); } // send a notify void do_notify(pc_client_t *client) { // compose notify. const char *route = "connector.helloHandler.hello"; json_t *msg = json_object(); json_t *json_str = json_string("hello"); json_object_set(msg, "msg", json_str); // decref json string json_decref(json_str); pc_notify_t *notify = pc_notify_new(); pc_notify(client, notify, route, msg, on_notified); }
Send a request
// request callback void on_request_cb(pc_request_t *req, int status, json_t *resp) { if(status == -1) { printf("Fail to send request to server.\n"); } else if(status == 0) { char *json_str = json_dumps(resp, 0); if(json_str != NULL) { printf("server response: %s\n", json_str); free(json_str); } } // release relative resource with pc_request_t json_t *msg = req->msg; pc_client_t *client = req->client; json_decref(msg); pc_request_destroy(req); // stop client pc_client_stop(client); } // send a request void do_request(pc_client_t *client) { // compose request const char *route = "connector.helloHandler.hi"; json_t *msg = json_object(); json_t *str = json_string("hi~"); json_object_set(msg, "msg", str); // decref for json object json_decref(str); pc_request_t *request = pc_request_new(); pc_request(client, request, route, msg, on_request_cb); }
评论
libpomeloPomelo 的 C 语言客户端
libpomelo是Pomelo的C语言客户端SDK。依赖libuvjansson使用创建客户端实例// create a client instance.pc_client_t *client =
libpomeloPomelo 的 C 语言客户端
0
MongoDB C DriverMongoDB 的 C 语言客户端开发包
mongo-c-driver 是 MongoDB 官方的 C 语言客户端开发包。mongo-c-dr
MongoDB C DriverMongoDB 的 C 语言客户端开发包
0
MongoDB C DriverMongoDB 的 C 语言客户端开发包
mongo-c-driver是MongoDB官方的C语言客户端开发包。mongo-c-driver依赖于 Libbson。
MongoDB C DriverMongoDB 的 C 语言客户端开发包
0
hiRedisRedis的C客户端
hiRedis是Redis官方指定的C语言客户端开发包,支持Redis完整的命令集、管线以及事件驱动编程。示例代码:redisContext*c=redisConnect("127.0.0.1",63
hiRedisRedis的C客户端
0
libmemcachedmemcached的C客户端
libmemcached是C客户端到memcached服 务器的接口库。具有低内存占用率、线程安全、
libmemcachedmemcached的C客户端
0
libmemcachedmemcached的C客户端
libmemcached是C客户端到memcached服务器的接口库。具有低内存占用率、线程安全、并提供对memcached功能的全面支持。它还采用多种命令行工具,包括:memcat、memflush
libmemcachedmemcached的C客户端
0