基于netty实现socketio的聊天室

(点击上方的蓝色文字,可快速关注我们)

目前公司业务上,有课程直播这一块。为了增加用户的互动,需要增加聊天室功能。聊天室,对实时性有较严格的要求,所以考虑使用socketio来做。目前在服务端,有基于netty实现的websocketio的框架。 https://github.com/mrniko/netty-socketio ,这个作者还是挺厉害的(   redisson 的作者)。

一般的聊天室架构图是这样的:

0?wx_fmt=png

服务端准备:

1 聊天室的创建,销毁

当老师有直播请求的时候,同时,需要通知后台服务创建一个聊天室的监听广播。

0?wx_fmt=png

当直播结束,通知后台关闭聊天室

0?wx_fmt=png

2 用户信息发送的广播

监听用户发送message的事件,广播消息。

0?wx_fmt=png

客户端准备:

1 socketio请求发送事件包socket.io.js

2DEMO页面准备

1 初始化聊天室

0?wx_fmt=png

2监听创建事件

0?wx_fmt=png

3 发送创建事件

0?wx_fmt=png

4 创建一个名称为chat2的聊天室

0?wx_fmt=png

5 初始化创建好的聊天室

0?wx_fmt=png

6 监听聊天事件

0?wx_fmt=png

7 发送聊天信息事件

0?wx_fmt=png

8开始聊天

0?wx_fmt=png

这样,一个简陋的聊天室就成形了,接下来还要考虑聊天消息的分布式存储。好消息是,他已经提供了相应的接口集成,支持 redisson ,hazelcast.


欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,只聊架构,不聊其他!打造最有价值的架构师圈子和社区。

长按下方的二维码可以快速关注我们


640?wx_fmt=jpeg

如想加群讨论学习,请点击右下角的“加群学习”菜单入群



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值