40行代碼聊天室

今天看到一個非常棒的及時通信的項目,分享給大家

服務端:lhttp

40行代碼聊天室: demo


基本上寫一個聊天室服務端一行代碼不用寫,客戶端寫極少量的代碼就可以了。


比較值得一提的是作者的想法非常好,通信協議有點類似http協議,這樣可擴展性就比較好,整個服務端都可以輕鬆定製的,作者實現和一些非常重要的首部過濾器,如訂閱和發佈。


如果說http協議是定位資源的,那lhttp最大的用處就是傳輸命令。是基於websocket協議的。


最讓我喜歡的是訂閱與發佈,如:

通過websocket發送這樣一條字符串:

"LHTTP/1.0 command\r\nsubscribe:channel_test\r\n\r\n"

就代表這個鏈接訂閱了channel_test通道,假設又有其他客戶端發送了這樣一條字符串:

"LHTTP/1.0 command\r\npublish:channel_test\r\n\r\nhello"

這樣訂閱都就能收到這條消息,消息體是hello。

這裏的command和http的url很像,服務端可以根據命令註冊處理器處理這個命令。客戶端也可以類似處理,如命令可以是 chat(聊天) enter_group(加入討論組) add_friend(添加好友)等等,非常靈活。


還支持一些代理等特性,我就不多說了,大家自己去研究共同學習,有個交流羣:171358414 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章