在线 WebSocket 测试工具(支持 ws:// 与 wss://,消息收发、心跳保活、自动重连与日志导出)
URL
示例: wss://echo.websocket.org wss://ws.postman-echo.com/raw wss://socketsbay.com/wss/v2/1/demo/ ws://localhost:8080/ws
提示:浏览器原生 WebSocket 无法自定义请求头(如 Authorization、Cookie), 也无法指定 Origin。第三方公共 Echo 服务随时可能失效,请以实际可用为准。
未连接
连接时长
00:00:00
已发送
0 条 / 0 B
已接收
0 条 / 0 B
重连次数
0 次
消息日志
发送消息
Ctrl / ⌘ + Enter 发送 · ↑ ↓ 调出历史
心跳间隔(秒)
HEX 模式支持空格、逗号、分号与 0x 前缀;Base64 模式会先解码为二进制帧再发送。 接收到的二进制数据统一以十六进制展示。
功能说明
1连接管理
  • 支持 ws:// 与 wss:// 两种协议,自动校验地址格式。
  • 只填写域名时会自动补全为 ws://,例如输入 localhost:8080/ws。
  • 支持填写 子协议(Sec-WebSocket-Protocol),多个子协议以英文逗号分隔,连接成功后显示服务端实际协商的结果。
  • 连接中、已连接、关闭中、异常等状态以彩色徽章实时展示,一目了然。
  • 提供 断线自动重连:采用指数退避(1s 起,最长 30s),连接成功后计数归零;手动点击「断开」不会触发重连。
  • HTTPS 页面下连接 ws:// 会被浏览器拦截,工具会提前给出明确提示。
2消息发送
  • 文本:按原样发送字符串。
  • JSON:先校验并解析,再以压缩后的合法 JSON 发送,避免手动写错格式。
  • HEX:把十六进制字符串转为二进制帧发送,支持空格、逗号、分号与 0x 前缀。
  • Base64:先做 Base64 解码,再以二进制帧发送。
  • 支持 Ctrl / ⌘ + Enter 快捷发送,↑ / ↓ 调出最近 50 条发送历史。
  • 「格式化 JSON」按钮可一键美化输入框中的 JSON 内容,方便阅读与修改。
3消息接收与日志
  • 自动区分文本帧与二进制帧:文本直接展示,二进制以十六进制 + 字节长度展示。
  • 开启「JSON 美化」后,形如 {...} 或 [...] 的消息会自动缩进排版。
  • 日志用颜色区分方向:→ 发送、 ← 接收、 ℹ 系统、 ✕ 错误。
  • 每条日志都带毫秒级时间戳,便于对照服务端日志排查时序问题。
  • 日志最多保留 1000 条,超出后自动淘汰最旧记录,避免页面卡顿。
  • 支持一键复制日志与导出为 .txt 文件,便于提交工单或存档。
  • 「自动滚动」可在持续刷屏时关闭,方便回看历史消息。
4心跳保活与统计
  • 可设置心跳间隔(秒)与心跳内容,连接建立后自动按间隔发送应用层心跳。
  • 心跳消息在日志中单独标记为「心跳」,便于与业务消息区分。
  • 实时统计连接时长、发送条数、接收条数、收发字节数、重连次数。
  • 字节数按 UTF-8 实际编码长度计算,二进制帧按 byteLength 统计,自动换算为 B / KB / MB。
  • 关闭页面或刷新时会主动断开连接,避免服务端残留半开连接。
5常见关闭码说明
关闭码 含义 常见原因与排查建议
1000 正常关闭 客户端或服务端主动结束连接,属正常流程。
1001 端点离开 服务端进程重启、页面关闭或服务下线。
1002 / 1003 协议错误 / 数据类型不支持 发送了服务端不接受的数据类型(如向只收文本的服务发二进制帧)。
1006 连接异常中断 最常见。地址错误、服务未启动、证书无效、被网关断开、连接的不是 WebSocket 服务等。
1008 策略违规 被服务端业务逻辑拒绝,如鉴权失败、来源不被允许。
1009 消息过大 发送内容超过服务端设定的最大帧长度。
1011 服务端内部错误 服务端处理时抛出异常,需查看服务端日志。
1015 TLS 握手失败 证书过期、自签名证书不被信任、协议版本不匹配。
6注意事项与限制
  • 浏览器原生 WebSocket API 不支持自定义请求头,因此无法直接测试需要 Authorization 的接口;可改用 URL 查询参数、子协议或 Cookie(同域时自动携带)。
  • 出于安全限制,页面无法获取底层 TCP/TLS 细节,也无法主动发送 Ping 控制帧; 本工具的心跳为应用层心跳,需服务端配合处理。
  • HTTPS 页面只能连接 wss://,这是浏览器的混合内容策略,无法绕过。
  • 浏览器不会暴露 onerror 的具体原因,只能结合关闭码与服务端日志判断。
  • 公共 Echo 服务由第三方提供,可用性不受本工具控制,连接失败时可换一个地址重试。