您的位置:首页 > 编程语言 > Java开发

spring boot+mvc+mybatis+netty-sokey.io+html+js实现简单即时通讯聊天系统

2017-05-27 11:15 1036 查看
公司的项目需要开发客服模块,之前没有深入了解过网络编程相关技术,这次花点时间学习下.对比了mina和netty,感觉netty优势多些,就学了netty,做个相关项目练练手.

1.项目结构



2.新建数据库demo-netty,并导入脚本文件,修改以下配置信息






3.运行Application.java启动springbboot内嵌tomcat,默认端口8080,浏览器访问:http://localhost:8080/







4.匿名登录,并给客服1发送消息







5.客服登录,serv01/123456[b](注意:必须要先登录着才能收到消息,离线状态无法接收消息)
[/b]

[b]


[/b]

[b]点击有新消息,获取用户列表,点击用户头像获取消息
[/b]

[b]


[/b]

[b]


[/b]

[b]6.多人聊天室
[/b]

[b]


[/b]

项目采用springboot+springmvc+netty-sockeyio实现简单的一对一聊天和聊天室多人聊天,前端比较差,用的是素材模版,所以改得比较戳,项目存在以下若干问题:

1)聊天记录没有保存的,页面一刷新就没有了;

2)匿名用户与客服对话,是把匿名客户端以目标客服为key放入缓存的,但是用户端口连接时,无法清除相关缓存数据map.remove(key,value),我的理解是value值相同,但是对象的指向不同,希望清楚的大神帮忙解答下





上面两种方式都无法清除缓存指定数据:



3)前端有些逻辑问题

4)给离线的用户发送消息,该用户上线也无法接收到信息

5)一个用户可以找多个客服咨询,一个客服可以服务多个用户,我想过建个多对多的中间表,但是实际做起来感觉不理想;也想过加个字段存放有消息的用户,后来想想也觉得不理想..这个问题解决了,问题1,2,3,4就都不是问题了

6)第一次做即时通讯的东西,出来消息接收发送,对话用户之间的关系依存和消息存放都不知道怎么去处理,请懂的大神提供些思路,不甚感激!

资源下载地址:http://download.csdn.net/detail/u013198917/9846723
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐