QQ聊天功能Springboot(websocket)的实现

QQ聊天功能Springboot(websocket)的实现

项目展示

在这里插入图片描述
在这里插入图片描述

服务器端

//刚建立连接时发送0,1

//收到客户消息时发送,
0私聊发送消息(对应服务器,3),
1群聊(对应服务器,4),
2同意好友(对应服务器,0,1)
拒绝好友(无对应服务器)

//断开连接时发送2

//0建立连接时加载所有用户,发给自己或对面
{
    "type": "0",
    "users": [
        {
            "img": "http://localhost:8080/imgs/2.png",
            "message": "对啊,我是想问你一个非常难的问题,不知道你会不会",
            "newsId": "101010",
            "name": "李四",
            "username": "13627048642"
        }
    ]
}
//1建立连接时加载在线用户,发给所有人
{
    "type": "1",
    "lineUsers": [
        "15170718283"
    ]
}
//2断开连接时加载离线用户,发给所有人
{
    "type": "2",
    "offLineUsers": "13033214654"
}
//3私聊发送给用户,发给对面
{
    "type": "3",
    "from": "13033214654",
    "text": "哈哈哈,可以"
}
//4群聊发送给用户,发给所有人
{
    "type": "4",
    "img": "http://localhost:8080/imgs/3.png",
    "num": 1,
    "name": "张三",
    "text": "6666"
}

客户端

//0私聊发送消息(对应服务器,3)
  let message = {
    type:'0',
    to:to.username,
    newsId:to.newsId,
    text:str
  }
//1群聊(对应服务器,4)
  let message = {
    type:'1',
    img:my.img,
    name:my.name,
    text:str
  }
//2同意好友(对应服务器,0,1)
  let data = {
    type:'2',
    username:item.username
  }
//3拒绝好友(无对应服务器)
  let data = {
    type:'3',
    username:item.username
  }

导入模块

        <!-- websocket -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>

websoket模块相关文件

在这里插入图片描述

数据库表的设计

在这里插入图片描述

项目源码链接

码云链接
或者线上地址体验功能
项目演示地址

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
SpringBoot WebSocket可以实现消息推送和聊天功能。通过使用Spring框架提供的WebSocket技术,可以轻松实现这些功能。具体的实现步骤可以参考Spring官方的教程,其中详细介绍了如何使用Spring实现WebSocket,包括建立连接、发送消息和接收消息等操作。 WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许服务器主动推送消息给客户端,而不需要客户端发送请求。这种实时推送的机制非常适合用于聊天消息的推送功能。通过SpringBoot WebSocket,可以在服务器端处理聊天消息,然后将消息即时推送给客户端,实现实时聊天功能。 在实现SpringBoot WebSocket聊天消息推送的过程中,可以通过建立连接、发送消息和接收消息等操作来完成消息的传递。建立连接时,客户端会向服务器发起WebSocket握手请求,服务器接收请求后进行握手处理,建立连接。建立连接后,客户端和服务器之间可以互相发送和接收消息,实现聊天功能。服务器可以根据业务逻辑处理接收到的消息,并将消息推送给其他客户端。客户端接收到消息后可以进行展示或处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot+WebSocket实现消息推送及简单的聊天功能](https://download.csdn.net/download/typ1805/10730574)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [springBoot集成websocket实现消息实时推送提醒](https://blog.csdn.net/weixin_35815479/article/details/128027542)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Springboot整合Websocket(推送消息通知)](https://blog.csdn.net/qq_34709784/article/details/126391781)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值