在线聊天

社交 IM熟人社交 案例ID:157649
前后端java_6年
8 年经验· 朗新
微信扫码沟通,客服可协助直接对接工程师;如当前档期不合,也可继续推荐相似案例作者。

案例介绍

该功能是基于springboot+rabbitmq+mysql 做的一个简易的客服在线聊天功能,如下
根据登录账号来判断是客服还是客户 ,登入后,匹配到对应的客户还是客服 进行聊天。
1、使用rabbitmq和springboot+实现简单的单客户端向服务端持续发送消息;

2、结合websocket,实现多客户端连接服务端发送接收消息;

3、实现服务端转发客户端消息至所有客户端,同时在客户端显示;

4、前端用html和jquery实现聊天界面展示

1. 服务器设计思路

一共有两台服务器,一台聊天服务器 ChatServer 和一台文件服务器 FileServer。

ChatServer

ChatServer 主要负责转发聊天内容和用户信息给所有用户,用于支持跟进用户信息功能和群聊功能。用户 A 连接服务器的时候,首先向服务器发送一个用户名,服务器收到之后搭建 socket 连接,然后记录用户 A 的 IP 和端口号,接着服务器将所有当前在线的用户的名字、IP 和端口信息发送给这位刚上线的用户 A,最后服务器向其他在线的用户群发用户 A 的名字、IP 和端口号以提示新用户上线,这里IP 和端口号的作用是方便客户端进行私聊。用户 A 要下线的时候,发送一个命令"[OFFLINE]"给服务器提示下线,服务器清除相关资源并关闭连接,同时将用户 A 要下线的消息转发给其他在线用户。在使用群聊功能时,某个客户端发起群聊消息给服务器,服务器会把该消息转发给其他在线用户,从而实现群聊的功能。私聊时,客户端向服务器发送私聊消息,由服务器转发给指定的接收用户。

群聊和私聊

与服务器交互,直接按照前面所述的格式向服务器发送数据,并且接受来自服务器的数据即可。发送数据时,将相关的数据按照相应的格式封装好再进行发送, 接收数据时,将来自服务器的数据按照"[#]"进行切割,提取相关字段的数据之后呈递给 GUI 层使用。

文件传输

客户端不管是私聊还是群聊的文件都直接发送给服务器,再由服务器完成相应的转发。通信过程在前面已经有所阐述,这里不再重复。

在线聊天

社交 · IM熟人社交 案例ID:157649
联系该工程师
微信扫码,建群沟通
作者: 前后端java_6年 - 8年经验- 朗新

案例介绍

该功能是基于springboot+rabbitmq+mysql 做的一个简易的客服在线聊天功能,如下
根据登录账号来判断是客服还是客户 ,登入后,匹配到对应的客户还是客服 进行聊天。
1、使用rabbitmq和springboot+实现简单的单客户端向服务端持续发送消息;

2、结合websocket,实现多客户端连接服务端发送接收消息;

3、实现服务端转发客户端消息至所有客户端,同时在客户端显示;

4、前端用html和jquery实现聊天界面展示

1. 服务器设计思路

一共有两台服务器,一台聊天服务器 ChatServer 和一台文件服务器 FileServer。

ChatServer

ChatServer 主要负责转发聊天内容和用户信息给所有用户,用于支持跟进用户信息功能和群聊功能。用户 A 连接服务器的时候,首先向服务器发送一个用户名,服务器收到之后搭建 socket 连接,然后记录用户 A 的 IP 和端口号,接着服务器将所有当前在线的用户的名字、IP 和端口信息发送给这位刚上线的用户 A,最后服务器向其他在线的用户群发用户 A 的名字、IP 和端口号以提示新用户上线,这里IP 和端口号的作用是方便客户端进行私聊。用户 A 要下线的时候,发送一个命令"[OFFLINE]"给服务器提示下线,服务器清除相关资源并关闭连接,同时将用户 A 要下线的消息转发给其他在线用户。在使用群聊功能时,某个客户端发起群聊消息给服务器,服务器会把该消息转发给其他在线用户,从而实现群聊的功能。私聊时,客户端向服务器发送私聊消息,由服务器转发给指定的接收用户。

群聊和私聊

与服务器交互,直接按照前面所述的格式向服务器发送数据,并且接受来自服务器的数据即可。发送数据时,将相关的数据按照相应的格式封装好再进行发送, 接收数据时,将来自服务器的数据按照"[#]"进行切割,提取相关字段的数据之后呈递给 GUI 层使用。

文件传输

客户端不管是私聊还是群聊的文件都直接发送给服务器,再由服务器完成相应的转发。通信过程在前面已经有所阐述,这里不再重复。

相似案例推荐

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在 1 小时内与您联系确认。

1小时精推人才

需求方专属客服,免费梳理匹配

需求方客服微信二维码
扫码加微信 · 客服人工对接
更多案例
微信沟通 客服 看中这位工程师了?客服帮你 1 小时对接沟通 → ×