随想录(cloud 网络库)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

关于网络编程,我一直没有怎么学好。倒不是api不熟悉,主要是没有合适顺手的socket库,libevent什么也不熟悉。所以,乘着这一次学习的机会,自己写了一个网络库代码,基本上做到了异步触发的机制,每个用户只要做好自己的事件回调就可以了。目前代码已经放到github上,即https://github.com/feixiaoxing/socket。我把它称之为cloud,主要就是想让使用的同学尽可能忽略它的存在,用的简单但是特别的爽。

为了教大家怎么使用,我自己也写了一些demo。这里就列举一个简单的应用。

#include <stdio.h>#include <stdlib.h>#include <assert.h>#include "type.h"#include "socket.h"#include "handle.h"void is_connected(SOCK_HANDLE* p_hand) {return;}// on closevoid is_close(SOCK_HANDLE* p_hand) {return;}// on readvoid is_read(SOCK_HANDLE* p_hand) {s8* buf;u32* len;STATUS result;result = get_rcv_buf(p_hand->sock, &buf, &len);assert(TRUE == result);send_buf(buf, len);free(buf);}// entry of executive fileint main(int argc, char *argv[]) {STATUS result;int sock;if(argc < 2) {printf("No port parameter. \n");exit(1);}// init cloudcloud_init();// register call backregister_callback_func(is_connected, is_close, is_read);// new socketresult = create_server_socket(&sock, atoi(argv[1]));assert(result == TRUE);// run cloudcloud_run(sock);return 0;}

版权声明:本文为博主原创文章,未经博主允许不得转载。

,可你仍然感谢天地和人世所带来的这些变化和发生。

随想录(cloud 网络库)

相关文章:

你感兴趣的文章:

标签云: