← 返回工具

WebSocket 调试台 · 使用说明

两种用法:① 浏览器当客户端连任意 ws:// / wss:// 服务收发帧;② 本站当服务端开一个端点,把你的设备 / 代码连过来,实时看每一帧并配置怎么回。

① 浏览器当客户端

  1. 填 WS 地址(如 wss://echo.websocket.org),点连接。
  2. 在发送一帧里选「文本 / Hex」,输入内容点发送;收到的帧实时显示在右边。

纯浏览器端,连的是你自己的 WS 服务,不经过本站后端。注意:本页若以 HTTPS 打开,浏览器只允许连 wss://(不能连明文 ws://)。浏览器原生 API 不支持手动发 ping 帧(由浏览器自动处理)。

日志记录连接发起、打开、错误、取消和关闭原因,也保留发送失败时的本次内容。「已排入浏览器发送队列」只表示调用发送成功,对端收到与否需核对回复。浏览器原生 API 不向网页暴露 Ping / Pong 控制帧,也不提供 DNS、TLS 或握手错误的具体原因;本站服务端模式则会记录实际收到和成功发出的 Ping / Pong / Close。参见 WebSockets 标准。

地址栏按 Enter 连接;发送、主动下发和固定回复都支持多行内容,Ctrl / ⌘ + Enter 执行当前动作,Enter 保留换行。发送结果单独显示,失败后仍可在同一连接重试。日志可搜索、复制或保存可见文本;「全部 JSON」保存本页最近 1000 条记录的方向、目标、大小、预览和状态,不受筛选影响。大帧仅含页面预览,完整长度仍保留。

服务端配置读取失败可点「重试加载」。读取期间或重试前已有的草稿会保留;保存确认针对本次提交,等待确认时继续编辑会标明当前草稿仍未保存。

② 本站当服务端

  1. 点创建端点 → 得到 ws://120.79.19.193/wsbin/<id>。
  2. 把你的设备 / 代码连到这个地址;右边实时看每一帧(方向 ↓收 / ↑发、opcode、大小、预览)。
  3. 左边配置怎么回:原样回显 / 回固定内容 / 只记不回;也可主动下发一帧给已连客户端。

端点地址即凭证(随机不可猜),无需开公网端口(走 nginx :80)。端点 7 天空闲自动回收。

连上去试(wscat)

npm i -g wscat
wscat -c ws://120.79.19.193/wsbin/<id>     # 输入文本回车,默认原样回显
# 浏览器控制台:
const ws = new WebSocket('ws://120.79.19.193/wsbin/<id>');
ws.onmessage = (e) => console.log('recv', e.data);
ws.onopen = () => ws.send('hello');

设备侧示例(ESP32 / Arduino,arduinoWebSockets)

#include <WebSocketsClient.h>
WebSocketsClient ws;
ws.begin("120.79.19.193", 80, "/wsbin/<id>");   // 走 80 端口的 ws 升级
ws.onEvent([](WStype_t t, uint8_t* p, size_t n){
  if (t == WStype_TEXT) Serial.printf("recv: %s\n", p);
});
// loop() 里 ws.loop(); 然后 ws.sendTXT("ping");

回显三模式

原样回显
收到什么帧就回什么(text 回 text、binary 回 binary)——最常用,验证链路通不通。
回固定内容
不管收到啥,都回你配的文本 / Hex——模拟服务端固定应答。
只记不回
只记录不回任何帧——纯抓包看客户端发了什么;要回时用「主动下发」。

限额

常见问题

连不上 / 握手失败?
确认地址是 ws://120.79.19.193/wsbin/<id>(端点要先在网页创建);HTTPS 页连明文 ws:// 会被浏览器拦,用 wss://。
发了帧但没回?
看左边「回显模式」——选了「只记不回」就不会回;要回用「原样回显」或「主动下发」。

想要别的功能?右下角「意见反馈」告诉我,或邮件 linsuwei_mic@outlook.com。

帮我完善这个工具

用着哪里别扭、想要什么功能、发现了 bug —— 都欢迎告诉我。

想让我回复你?直接邮件我:linsuwei_mic@outlook.com