WebSocket 测试器 / 客户端

连接到任意 ws:// 或 wss:// 端点,声明可选的子协议,发送文本或 JSON 消息,并查看完整生命周期日志:ready-state 变化、关闭码与原因,以及每条消息的方向、时间和载荷。全部用浏览器原生 WebSocket API 在本地运行 — 不经任何服务器中转。普通 HTTP 接口请用 REST API 客户端 / 测试器;查看全部 API 工具 家族。
已关闭 连接建立后发送欢迎 JSON
消息日志 0 个事件
还没有内容。连接服务器即可开始。
需要了解的浏览器 WebSocket 限制:请求头无法自定义(只会发送 Cookie 与上面的 Sec-WebSocket-Protocol 子协议);握手不受 CORS 约束,但页面的 Content-Security-Policy connect-src 可以阻止它;安全(https)页面只能打开 wss://;JavaScript 无法发送协议级 ping 帧(浏览器会自动应答服务器的 ping — 请用 {"type":"ping"} 之类的应用层消息模拟心跳);自签名证书不被信任。本地测试建议:运行自己的服务器,或使用 wss://ws.postman-echo.com/raw、wss://echo.websocket.org 这类公共回显服务。
WebSocket 是什么
WebSocket 在浏览器与服务器之间提供双向、持久的消息通道。与 HTTP 不同,消息可以在同一条连接上双向传输。
ws:// 与 wss:// 的区别!@#$%…ws://不加密(类似http://); wss://加密(类似https://)。如果本页通过 HTTPS 提供,浏览器只允许wss://连接。从本地文件(file://)打开时两种协议都允许,但许多公共回显服务器(包括 echo.websocket.org)只接受wss://.
子协议 — 可选的逗号分隔列表映射到 Sec-WebSocket-Protocol 握手头。服务器必须支持其中之一,否则浏览器拒绝连接。
为什么“连接”完成了,却没有出现“发送消息”输入框?只有状态变为 已连接 时发送表单才出现。如果服务器中断握手,您会先看到一个 error 事件,随后是 已关闭 码 1006(异常关闭 — 没有收到关闭帧)。常见原因:对只接受 wss:// 的服务器用了 ws://、主机或端口写错、子协议不匹配,或服务器已离线。
您可能看到的关闭码 — 1000 正常;1001 浏览器标签页关闭;1006 异常 / 握手失败;1009 消息过大;1011 服务器错误。日志会自动显示代码和简短原因。
连接失败排查:先把协议换成 wss://,确认主机可达,清掉不需要的子协议,并在浏览器控制台检查 TLS 或混合内容错误。