实时通知收不到消息时,应分别确认“是否连上服务”“是否发出了正确消息”“服务是否按协议回复”。只看到一个“已连接”状态,不能代替业务消息测试。
WebSocket 测试工具 可以连接 WS/WSS 地址、查看服务推送和连接记录,并发送文本或 JSON。消息会发送到你填写的服务;不要在不了解接收方的情况下放入真实口令或客户数据。
第一步:确认地址、路径与协议
地址需要包含服务端实际监听的路径,例如本站示例服务的 /ws。https://utilcove.com/ws 是 HTTP 地址,WebSocket 连接应使用 wss://utilcove.com/ws。
| 页面环境 | 示例地址 | 使用条件 |
|---|---|---|
| UtilCove HTTPS 站点 | wss://utilcove.com/ws |
线上版本已部署示例 Worker |
| 自有服务 | 你的完整 ws:// 或 wss:// 地址 |
服务已开启,路径和权限正确 |
工具会根据当前页面域名填入默认示例地址。在 HTTPS 页面上应使用 WSS,工具会拒绝填写普通 WS。示例地址是否能用还取决于服务是否已部署,不能仅凭输入框里有地址判断它在线。
第二步:连接后先看状态和接收区
填入地址,点击“连接”或按 Enter。状态从“连接中”变为“已连接”后,再观察左侧“服务推送与连接记录”。连接超过 15 秒未成功时,工具会结束等待并提示超时。
本站示例服务在连接时发送一次 hello,之后每秒推送服务器 UTC 时间 serverTime 和该连接的消息计数 count。实际时间和计数会变化;本文示例只说明消息结构。
{
"type": "connected",
"message": "hello",
"count": 1
}
自有服务可以完全没有这段消息。它是否在连接后立即推送、推送哪些字段,取决于你的服务协议。
第三步:发送一条消息并核对回复
在右侧“发送内容”填写下面的练习消息,点击“发送”,也可以使用 Ctrl / ⌘ + Enter:
{"message":"hello"}
工具按原文发送,不会替你验证 JSON 语法或重新编码业务字段。可以发送纯文本;如果服务要求 JSON,需先确认输入是合法 JSON,并符合服务要求的结构。
本站示例服务对文本发送 hello 回复,type 为 reply;它不是任意内容的原样回显,也不是实际聊天系统。count 是服务端该连接的消息计数,包含定时推送,不等于页面右下角的发送次数。
第四步:理解页面记录和计数
| 页面内容 | 含义 |
|---|---|
| 左侧系统记录 | 连接、断开和等待状态 |
| 接收记录、向下计数 | 工具实际收到的消息 |
| 发送记录、向上计数 | 工具实际发出的消息 |
消息里的 count |
服务端自定义字段,含义由服务决定 |
点击“清空记录”会清空页面记录和本地收发计数,不会断开连接,也不会重置服务端状态。当前页面最多保留 500 条记录,超出时移除较早记录;长消息显示会截断,不应把页面日志当作完整归档。
第五步:断开并验证重连
点击“断开”,确认状态恢复“未连接”,然后再连接。本站示例服务会为新连接重新开始计数,首次消息的 count 为 1。
更换地址前先断开旧连接。页面不会自动无限重连,测试结束后也应主动断开,避免后台持续接收消息。
连接失败时怎样缩小范围?
| 现象 | 优先检查 |
|---|---|
| 地址格式错误 | 协议是否为 WS/WSS,是否带有 # 或用户名密码 |
| HTTPS 页面使用 WS 被拒绝 | 改用服务实际支持的 WSS 地址 |
| 一直连接中或提示超时 | 服务是否运行、端口路径是否正确、网络是否可达 |
| 很快断开 | 查看关闭码,结合服务端日志检查权限和协议 |
| 已连接但没有业务回复 | 服务是否要求先鉴权、订阅或发送指定消息 |
这个工具不提供自定义握手请求头。需要 Authorization 等专用头的接口不能直接照搬命令行客户端连接方式;应按服务端允许的认证方案测试。服务端还可能验证页面的 Origin。
页面端错误通常不会给出完整的服务端原因,定位握手拒绝应同时查看服务日志。使用 Cloudflare Worker 实现示例服务时,可参考 Cloudflare WebSocket 官方文档。