前言
哈,這又是一個(gè)socket.io服務(wù)端實(shí)現(xiàn),本意是,拿C練練手,加強(qiáng)對(duì)C和linux系統(tǒng)的理解,寫(xiě)著寫(xiě)著,就寫(xiě)成了一個(gè)socket.io服務(wù)器端實(shí)現(xiàn)了。以為半成品,那就正式托管在github站點(diǎn)上吧,以便記錄一下,可讓大家批評(píng)與指正,加強(qiáng)內(nèi)功的修煉等。
項(xiàng)目地址為
yongboy/c_socket.io_server
以下部分文字,偷懶,摘錄自項(xiàng)目的README.md文件
說(shuō)明
這是一個(gè)純C語(yǔ)言版本的socket.io服務(wù)器端實(shí)現(xiàn),目前僅支持linux系統(tǒng),嚴(yán)重依賴(lài)libev and glib等基礎(chǔ)庫(kù)。
在運(yùn)行socket.io_server之前,需要安裝以下依賴(lài):
sudo apt-get install uuid-dev
sudo apt-get install libglib2.0-dev
如何運(yùn)行
- 編寫(xiě)實(shí)現(xiàn)代碼(eg:chatroom.c),需要包含頭文件 endpoint_impl.h
- 把實(shí)現(xiàn)代碼(eg:chatroom.c)放入examples目錄
- 編寫(xiě)對(duì)應(yīng)的html文件,放入static目錄
- 編輯Makefile文件
- 終端下運(yùn)行make命令
- 然后敲入 ./socket.io_server 接口運(yùn)行
- 打開(kāi)瀏覽器即可訪問(wèn) (eg:http://localhost:8000/chatroom.html)
API說(shuō)明
對(duì)外的API,可以在頭文件 endpoint_impl.h 看到其定義,其繼承了另外一個(gè)公用的頭文件 endpoint.h, 其完整定義為:
完整定義.
在example目錄中,你可以看到聊天室演示 chatroom 和在線白板示范 whiteboard .
因?yàn)镃語(yǔ)言中沒(méi)有散列表,只好借助于成熟的glib庫(kù)實(shí)現(xiàn)。
其它
項(xiàng)目不太成熟,期待大家的參與,您的建議、批評(píng)和指正,都是一種激勵(lì),再次表示感謝。