聂永的博客

记录工作/学习的点点滴滴。

哈,又来一个纯C语言版本的socket.io服务器端实现~

前言

哈,这又是一个socket.io服务端实现,本意是,拿C练练手,加强对C和linux系统的理解,写着写着,就写成了一个socket.io服务器端实现了。以为半成品,那就正式托管在github站点上吧,以便记录一下,可让大家批评与指正,加强内功的修炼等。
项目地址为
yongboy/c_socket.io_server

以下部分文字,偷懒,摘录自项目的README.md文件

说明

这是一个纯C语言版本的socket.io服务器端实现,目前仅支持linux系统,严重依赖libev and glib等基础库。
在运行socket.io_server之前,需要安装以下依赖:

sudo apt-get install uuid-dev
sudo apt-get install libglib2.0-dev

如何运行

  1. 编写实现代码(eg:chatroom.c),需要包含头文件 endpoint_impl.h
  2. 把实现代码(eg:chatroom.c)放入examples目录
  3. 编写对应的html文件,放入static目录
  4. 编辑Makefile文件
  5. 终端下运行make命令
  6. 然后敲入 ./socket.io_server 接口运行
  7. 打开浏览器即可访问 (eg:http://localhost:8000/chatroom.html)

API说明

对外的API,可以在头文件 endpoint_impl.h 看到其定义,其继承了另外一个公用的头文件 endpoint.h, 其完整定义为:

完整定义.
在example目录中,你可以看到聊天室演示 chatroom 和在线白板示范 whiteboard . 因为C语言中没有散列表,只好借助于成熟的glib库实现。

其它

项目不太成熟,期待大家的参与,您的建议、批评和指正,都是一种激励,再次表示感谢。

posted on 2013-03-15 16:02 nieyong 阅读(5558) 评论(1)  编辑  收藏 所属分类: socket.io

评论

# re: 哈,又来一个纯C语言版本的socket.io服务器端实现~ 2013-05-28 21:39 kevinlilee

用了你的开源库,整体来说,你的代码不错,但有很多致命的bug,比如chat那个例子,多次刷新时,很多coredump现象,不止一处core。
对于服务器的健壮性来说,这个库只够演示用途。
不过对socketio的封装还是值得肯定的。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

所有文章皆为原创,若转载请标明出处,谢谢~

新浪微博,欢迎关注:

导航

<2013年3月>
242526272812
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(58)

随笔分类(130)

随笔档案(151)

个人收藏

最新随笔

搜索

最新评论

阅读排行榜

评论排行榜