zhibo/模块文档/04-WebSocket通信模块.md
2025-12-30 11:11:11 +08:00

1.6 KiB
Raw Blame History

WebSocket通信模块接口文档

模块概述

WebSocket通信模块提供实时弹幕和在线人数的推送功能。


WebSocket连接

1. 实时弹幕WebSocket

连接地址: ws://host:port/ws/live/chat/{roomId}

连接参数:

roomId: 房间ID (路径参数)

发送消息格式:

{
  "type": "chat",
  "content": "弹幕内容",
  "nickname": "用户昵称",
  "userId": 用户ID
}

接收消息格式:

弹幕消息:

{
  "type": "chat",
  "nickname": "用户昵称",
  "content": "弹幕内容"
}

连接确认:

{
  "type": "connected",
  "content": "连接成功"
}

心跳响应:

{
  "type": "pong"
}

心跳消息:

{
  "type": "ping"
}

说明:

  • 心跳间隔: 30秒
  • 自动重连: 最多5次
  • 重连延迟: 5秒 × 重连次数

2. 在线人数WebSocket

连接地址: ws://host:port/ws/live/{roomId}?clientId={clientId}

连接参数:

roomId: 房间ID (路径参数)
clientId: 客户端ID (查询参数用户ID或guest_时间戳)

接收消息格式:

在线人数更新:

{
  "type": "online_count",
  "count": 1234,
  "roomId": "房间ID",
  "timestamp": 1704000000000
}

连接确认:

{
  "type": "connected",
  "message": "连接成功",
  "clientId": "用户ID或guest_时间戳"
}

心跳响应:

{
  "type": "pong"
}

心跳消息:

{
  "type": "ping"
}

说明:

  • 心跳间隔: 30秒
  • 自动重连: 最多5次
  • 重连延迟: 5秒 × 重连次数
  • 用户进入/离开时自动推送在线人数更新