溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

40行代碼聊天室

發(fā)布時間:2020-05-28 15:22:48 來源:網(wǎng)絡(luò) 閱讀:301 作者:fangnux 欄目:網(wǎng)絡(luò)安全

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

服務(wù)端:lhttp

40行代碼聊天室: demo


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


比較值得一提的是作者的想法非常好,通信協(xié)議有點(diǎn)類似http協(xié)議,這樣可擴(kuò)展性就比較好,整個服務(wù)端都可以輕松定制的,作者實(shí)現(xiàn)和一些非常重要的首部過濾器,如訂閱和發(fā)布。


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


最讓我喜歡的是訂閱與發(fā)布,如:

通過websocket發(fā)送這樣一條字符串:

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

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

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

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

這里的command和http的url很像,服務(wù)端可以根據(jù)命令注冊處理器處理這個命令??蛻舳艘部梢灶愃铺幚恚缑羁梢允?chat(聊天) enter_group(加入討論組) add_friend(添加好友)等等,非常靈活。


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


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI