隨筆-35  評論-33  文章-0  trackbacks-0
                   目前公司業務上,有課程直播這一塊。為了增加用戶的互動,需要增加聊天室功能。聊天室,對實時性有較嚴格的要求,所以考慮使用socketio來做。目前在服務端,有基于netty實現的websocketio的框架。https://github.com/mrniko/netty-socketio,這個作者還是挺厲害的(redisson的作者)。

                 一般的聊天室架構圖是這樣的:



          服務端準備:

          1 聊天室的創建,銷毀

          當老師有直播請求的時候,同時,需要通知后臺服務創建一個聊天室的監聽廣播。



          當直播結束,通知后臺關閉聊天室



          2 用戶信息發送的廣播

          監聽用戶發送message的事件,廣播消息。



          客戶端準備:

          1 socketio請求發送事件包socket.io.js

          2DEMO頁面準備

          1 初始化聊天室



          2監聽創建事件



          3 發送創建事件



          4 創建一個名稱為chat2的聊天室



          5 初始化創建好的聊天室



          6 監聽聊天事件



          7 發送聊天信息事件



          8開始聊天



          這樣,一個簡陋的聊天室就成形了,接下來還要考慮聊天消息的分布式存儲。好消息是,他已經提供了相應的接口集成,支持redisson,hazelcast.




          我的微信公眾號,歡迎溝通學習。
          posted on 2016-06-06 08:37 alexcai 閱讀(3048) 評論(2)  編輯  收藏

          評論:
          # re: 基于netty實現socketio的聊天室 2016-06-10 09:06 | aunox
          全部破圖。  回復  更多評論
            
          # re: 基于netty實現socketio的聊天室 2016-06-13 08:59 | alexcai
          @aunox
          您可以直接查看這個地址http://www.jianshu.com/p/d0a859e5fc4d  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 来安县| 胶南市| 安康市| 策勒县| 广灵县| 汉源县| 永川市| 荆州市| 康定县| 香格里拉县| 寻甸| 朔州市| 武陟县| 青岛市| 阿鲁科尔沁旗| 桃园市| 鹤庆县| 南和县| 迁安市| 刚察县| 安康市| 安阳县| 金溪县| 太仓市| 余姚市| 达日县| 湘阴县| 盖州市| 炎陵县| 嘉黎县| 富锦市| 都江堰市| 白城市| 岳阳县| 囊谦县| 抚远县| 罗源县| 凤凰县| 东兰县| 九龙坡区| 甘洛县|