You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过WebSocket正确向Binance发送Ping请求?

解决Binance US WebSocket Ping请求报错的问题

问题原因

Binance US的WebSocket Ping要求发送JSON格式的请求帧,而非纯文本的"PING"字符串。你当前发送的纯文本不符合它的JSON格式校验规则,因此触发了Invalid JSON错误。其他交易所(如Bitmex)支持纯文本Ping,但Binance的规则存在差异。

修正后的C#代码

发送包含时间戳的JSON格式Ping请求即可正常工作:

// 构造符合Binance要求的JSON Ping内容
long timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
string pingJson = $"{{\"ping\": {timestamp}}}";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(pingJson);
ArraySegment<byte> byte_array = new ArraySegment<byte>(buffer);

var _socket = new System.Net.WebSockets.ClientWebSocket();
await _socket.SendAsync(byte_array, WebSocketMessageType.Text, true, CancellationToken.None);

补充说明

  • Binance会返回对应的{"pong": <timestamp>}响应,其中的时间戳与你发送的一致,用于验证连接存活状态
  • 原有连接、订阅逻辑无需修改,仅需调整Ping请求的内容格式

内容的提问来源于stack exchange,提问作者AjLearning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:42:15