隨筆-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  回復  更多評論
            

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


          網站導航:
           
          主站蜘蛛池模板: 泗洪县| 建始县| 宁强县| 寿光市| 苏尼特右旗| 刚察县| 顺平县| 婺源县| 抚松县| 武隆县| 淳化县| 龙江县| 许昌市| 贵南县| 南郑县| 南开区| 城口县| 丹棱县| 东莞市| 图木舒克市| 鹤庆县| 武隆县| 辰溪县| 东阿县| 东莞市| 滨海县| 图们市| 诸暨市| 伊通| 铜梁县| 西丰县| 安龙县| 太康县| 诸暨市| 崇州市| 大同县| 龙州县| 富阳市| 白河县| 漾濞| 沁水县|