基于C多线程网络库,欢迎大家使用,例子在代码example目录下,以后我会再增加一些例子。
文档暂时没有,有问题请邮件我:-)
获取代码:https://github.com/xueguoliang/xs
xs致力于1)多线程网络库,如果你的程序要需要网络通信,而且不希望多进程,那这个库可能适合你。目前xs支持linux和windows,linux采用epoll,windows下是select,不好意思对iocp不熟悉,期待你们有贡献。
2)尽量将接口整的简单
3)线程工作采用推动式
4)支持定时器(用最小堆实现)
5)尽量效率高,所以尽量不用锁
使用库的方法,跟android有点像:
1.在xs/src中建立一个目录,你的工程目录,比如aaa
2.在目录中写一个xs.mk(空文件即可,但是没有是不行的)
3.再写你的.c文件,
4.完成之后,回到xs/src,输入make,你的工程将会被编译,如果你的代码没有编译错误,将会在xs/src目录下出现aaa.bin
另外一种办法,你将xs库当成普通动态库使用,这样的话,你的某个.c文件要加上两个全局变量
char* g_mem_files[1];
int g_mem_file_count = 0;
这两个变量是我的Makefile生成的,如果你不用我的makefile,那就得自己给定义个
最后这个库我在linux,windows,android,嵌入式linux等平台下都测试过,稍微改改makefile(在windows下直接用qt编译的)就可以使用,记得mail我哦