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

                 一般的聊天室架構(gòu)圖是這樣的:



          服務端準備:

          1 聊天室的創(chuàng)建,銷毀

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



          當直播結(jié)束,通知后臺關(guān)閉聊天室



          2 用戶信息發(fā)送的廣播

          監(jiān)聽用戶發(fā)送message的事件,廣播消息。



          客戶端準備:

          1 socketio請求發(fā)送事件包socket.io.js

          2DEMO頁面準備

          1 初始化聊天室



          2監(jiān)聽創(chuàng)建事件



          3 發(fā)送創(chuàng)建事件



          4 創(chuàng)建一個名稱為chat2的聊天室



          5 初始化創(chuàng)建好的聊天室



          6 監(jiān)聽聊天事件



          7 發(fā)送聊天信息事件



          8開始聊天



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




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

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

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 惠东县| 舒兰市| 德惠市| 前郭尔| 当雄县| 颍上县| 隆子县| 辽宁省| 山西省| 建平县| 兴隆县| 通河县| 西丰县| 铁岭县| 泰宁县| 卓资县| 黄大仙区| 高淳县| 晋城| 瑞昌市| 道真| 龙门县| 南平市| 华宁县| 苍梧县| 通化市| 昆明市| 怀柔区| 江口县| 崇仁县| 丹棱县| 广宗县| 辽宁省| 汉川市| 鄂尔多斯市| 庆云县| 长武县| 青铜峡市| 睢宁县| 运城市| 平遥县|