码迷,mamicode.com
首页 > Web开发 > 详细

Nettt框架下的WebSocketServer

时间:2017-07-27 23:32:02      阅读:234      评论:0      收藏:0      [点我收藏+]

标签: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

标签:hand   sockets   不同   array   web   map   netty   自己   hub   

原文地址:http://www.cnblogs.com/Montauk/p/7247837.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!