- 授权协议: MIT
- 开发语言: C/C++
- 操作系统: Linux
- 软件首页: https://github.com/NetEase/libpomelo
软件介绍
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);
}Python编程
[美]埃里克·马瑟斯 / 袁国忠 / 人民邮电出版社 / 2016-7-1 / CNY 89.00
本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图......一起来看看 《Python编程》 这本书的介绍吧!
