基本信息

案例ID:157649

技术顾问:前后端java_6年 - 6年经验 - 朗新

联系沟通

微信扫码,建群沟通

项目名称:在线聊天

所属行业:社交 - IM熟人社交

->查看更多案例

案例介绍

该功能是基于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 层使用。

文件传输

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

相似案例推荐

其他人才的相似案例推荐

  • 同学库

    同学库

    【大学生必备APP】同学库,让我的校园生活更有“料”!同学库

  • 鉴定好友默契

    鉴定好友默契

    此项目主要是一个可以让用户在微信发起邀请,指定第几个进入自己

  • 麦聊APP(纯H5开发)

    麦聊APP(纯H5开发)

    该项目是一个类似wechat的即时通讯项目,支持单聊,群聊,

  • selenium自动化爬取网易企业邮箱

    selenium自动化爬取网易企业邮箱

    1、selenium登录163,读取未读邮件内容 2、切换

  • 德申汇

    德申汇

    德申汇是商务社交平台 , 其中功能包罗万象 , IM ,

  • 平安好医生APP

    平安好医生APP

    当时全权负责整个直播团队和聊天团队的技术人员,擅长直播架构搭

  • 踢球么微信公众号

    踢球么微信公众号

    描述:该项目是为球队训练、比赛等开发的,分为个人管理、球队管

  • 聊天系统

    聊天系统

  • WOW语聊

    WOW语聊

    核心功能分为星球匹配和语聊房 IM通信和音视频通话。主要负责

  • 快手

    快手

    「有趣视频,一看就上瘾」 好看的、好玩的、好笑的短视频,都

  • 快手

    快手

    「有趣视频,一看就上瘾」 好看的、好玩的、好笑的短视频,都

  • 合富人

    合富人

    合富人是一个办公软件,根据不同账号登录会有不同的功能。内部员

发布任务

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

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系聘用方端客服
联系聘用方端客服