基于Netty的页面聊天室开发思路

项目需求

  • 单页面,进入即登录,系统随机分配连接用户名
  • 存储聊天信息消息
  • 聊天群发功能

项目架构

基于Netty的页面聊天室开发思路

功能实现思路

对于Netty的集成是相对简易,配置对应的Handler,在SpringBoot启动的时候,注入并启动对应的Netty监听。

  • 对于前端页面而言,是单页面,进入后它会自动与写死的WebSocket连接通信,Netty会自动监听新连接的接入,当新连接建立,我们通过工具类随机生成一个名称,并以键值对进行存储。
  • 而对于消息的监听,则直接进行了子连接与其他连接的处理,在获取到消息的时候,服务器再向所有的客户端页面重新群发,且在群发的时候进行判断,如果是原本发送的连接则一个格式,其他接受的则另一个格式,这里方便前端进行样式处理。
  • 同时在进行消息监听的时候,所有接受到的消息,服务器都会做本地临时存储处理,以键值对的形式存储用户的聊天消息。
  • 在连接断开、用户离线后,调用异步方法,将临时存储库中的聊天消息存储到数据库中

效果展示

基于Netty的页面聊天室开发思路
基于Netty的页面聊天室开发思路

GitHub地址

项目名:InChat

项目地址:https://github.com/UncleCatMy...

项目介绍:基于Netty4与SpringBoot,聊天室WebSocket(文字图片)加API调用Netty长链接执行发送消息(在线数、用户列表)、Iot物联网-MQTT协议、TCP/IP协议单片机通信,异步存储聊天数据


如果本文对你有所帮助,欢迎关注个人技术公众号

基于Netty的页面聊天室开发思路

相关推荐