点击查看【bilibili】

websocket简介

WebSocket 协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。
它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。
image.png

上手使用

:::warning 特别说明: websocket 功能仅支持 pig 3.6.2+版本 :::

① 添加依赖

  1. <dependency>
  2. <groupId>com.pig4cloud.plugin</groupId>
  3. <artifactId>websocket-spring-boot-starter</artifactId>
  4. <version>1.2.0</version>
  5. </dependency>

② 测试使用

:::warning 👉 使用 websocket 在线测试工具调试 ::: image.png

  • 服务地址:
    1. # 例如链接upms模块的ws接口 ws://127.0.0.1:9999/admin/ws/info?access_token=xxxx
    2. ws://127.0.0.1:9999/路由前缀/ws/info?access_token=token

    进阶使用

    ① 服务端推送消息

    1. // 在服务端需要发送 ws 给客户端发送出,直接使用如下工具类发送
    2. WebSocketMessageSender.send(sessionKey,message)
    :::warning 默认sessionKey为客户端登录的用户名,比如给admin 用户发送就是

WebSocketMessageSender.send(“admin”,”hello world”) :::

② 个性化客户端消息处理

  • 默认直接输出客户端请求的消息

image.png

  • 注入 Spring PlanTextMessageHandler 实现即可 ```java @Service public class CustomPlanTextMessageHandler implements PlanTextMessageHandler {

    /**

    • 普通文本消息处理
    • @param session 当前接收消息的session
    • @param message 文本消息 */ @Override public void handle(WebSocketSession session, String message) { log.info(“sessionId {} ,msg {}”, session.getId(), message); }

} ```