根据Binance API:“ Websocket服务器将每3分钟发送一次ping帧。如果websocket服务器在10分钟内未从连接接收回Pong帧,则该连接将被断开。未经请求的Pong允许使用框架。”
这就是我遇到的问题,我确实有一个websocket实现,但是在那10分钟之后,它断开了连接。我的on('close')
不会返回任何信息,但我只是停止从套接字获取任何消息。
这是我必须发回pong的代码:
ws.on('ping', (data) => {
console.log("ping: " + data);
ws.pong("pong");
ws.isAlive = true;
ws.lastAlive = new Date();
});
我也尝试过ws.send()
,但是它对我不起作用。我要去哪里错了?
这是我的完整代码:https://playcode.io/356312
这是Binance文档的链接;
websockets:https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md
用户数据:https://github.com/binance-exchange/binance-official-api-docs/blob/master/user-data-stream.md