Nettt架構下的WebSocketServer

來源:互聯網
上載者:User

標籤:hand   sockets   不同   array   web   map   netty   自己   hub   

最近做了一個項目, 需要不同的用戶端通過WebSocket實現即時點贊功能, websocket維持長串連, Netty架構負責處理巨大客戶數量的接入, 據說16個核就可以支援百萬並發.

研究了一下Netty, 的確挺傻瓜的, 買了兩本書:

https://item.jd.com/12070975.html

Netty In Action, 據說是阿里的人翻譯的, 挺不錯.

https://item.jd.com/11681556.html

這本是中國人自己寫的.

 

思路是, 在負責處理WebScocketFrame的TextWebSocketFrameHandler類裡面, 插入一些代碼, 將channel先組織成一個List, 因為我希望同一個組織內的終端可以形成組播, 簡單來說可以理解成一個獨立聊天室, 在這個聊天室裡面的人說話, 大家都聽得見, 不在這個聊天室的人, 就聽不見了. 所以首先這個是一個ArrayList, 然後加上聊天室的ID, 組成一個Map元素, 多個聊天室組成一個Map.

有了這些先組成list,然後組成map的channel, 你想發什麼給誰, 就容易很多了.

 

另外, 測試用的Index.html用的js語言, 直接new了一個WebSocket類, 然後send對應的訊息.

 

好吧, 我承認夜深了, 我累了, 回頭再寫具體的實現過程吧. 先看代碼, ok?

 

具體的代碼實現在:

https://github.com/MontaukLaw/NettyLikeServer

Nettt架構下的WebSocketServer

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.