随笔-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 阅读(3014) 评论(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  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: