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

项目需求

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

项目架构

图片描述

功能实现思路

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

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

效果展现

图片描述
图片描述

GitHub地址

项目名:InChatgit

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

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


若是本文对你有所帮助,欢迎关注我的技术公众号服务器

图片描述

相关文章
相关标签/搜索