WebSocket 概述

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它于 2008 年诞生,2011 年成为国际标准,目前所有主流浏览器都已支持。

主要特点

  • 服务器可以主动向客户端推送信息
  • 客户端可以主动向服务器发送信息
  • 实现真正的双向平等对话
  • 属于服务器推送技术的一种

快速开始

添加依赖

<dependency>
  <groupId>com.pig4cloud.plugin</groupId>
  <artifactId>websocket-spring-boot-starter</artifactId>
  <version>3.0.0</version>
</dependency>

测试连接

建议使用 WebSocket 在线测试工具 进行调试

连接地址格式

ws://127.0.0.1:9999/路由前缀/ws/info?access_token=token

示例:

ws://127.0.0.1:9999/admin/ws/info?access_token=xxxx

高级功能

服务端消息推送

使用 WebSocketMessageSender 工具类发送消息:

WebSocketMessageSender.send(sessionKey, message)

默认情况下,sessionKey 为客户端登录的用户名。例如,向 admin 用户发送消息:

WebSocketMessageSender.send("admin", "hello world")

消息处理

默认处理方式

默认情况下,系统会直接输出客户端发送的消息。

自定义消息处理

通过实现 PlanTextMessageHandler 接口来自定义消息处理逻辑:

@Service
public class CustomPlanTextMessageHandler implements PlanTextMessageHandler {

    @Override
    public void handle(WebSocketSession session, String message) {
        log.info("sessionId {} ,msg {}", session.getId(), message);
    }

}

获取帮助

如果您在使用过程中遇到任何问题,请点击此处获取帮助。

♥️ 获取支持

遇到问题?

如果您在使用过程中遇到任何问题、有功能建议或需求,请点击此卡片前往 Gitee 仓库提交 Issue。