1

我正在使用 ws 包连接到 poloniex 网络套接字,使用以下代码:

const WS = require('ws');

const ws = new WS('wss://api2.poloniex.com');
ws.on('open', () => {
    ws.send(JSON.stringify({
        command: 'subscribe',
        channel: 'USDT_BTC'
    }));
});
ws.on('message', (msg) => {
    console.log(JSON.parse(msg));
    ws.close(1000);
});
ws.on('close', (code) => {
    console.log(`closing with code ${code}`);
});
ws.on('error', (error) => {
    console.error(error);
});

但是我得到以下输出:

RangeError: Invalid WebSocket frame: MASK must be clear
    at Receiver.getInfo (/home/clecio/Programming/test-poloniex/node_modules/ws/lib/receiver.js:299:14)
    at Receiver.startLoop (/home/clecio/Programming/test-poloniex/node_modules/ws/lib/receiver.js:136:22)
    at Receiver._write (/home/clecio/Programming/test-poloniex/node_modules/ws/lib/receiver.js:83:10)
    at writeOrBuffer (internal/streams/writable.js:358:12)
    at Receiver.Writable.write (internal/streams/writable.js:303:10)
    at TLSSocket.socketOnData (/home/clecio/Programming/test-poloniex/node_modules/ws/lib/websocket.js:1116:35)
    at TLSSocket.emit (events.js:400:28)
    at addChunk (internal/streams/readable.js:293:12)
    at readableAddChunk (internal/streams/readable.js:267:9)
    at TLSSocket.Readable.push (internal/streams/readable.js:206:10) {
  code: 'WS_ERR_UNEXPECTED_MASK',
  [Symbol(status-code)]: 1002
}
closing with code 1006

有谁知道这个错误是什么意思?我用类似的服务器尝试了类似的代码,但没有收到任何错误。另外,如果我不向函数发送任何代码ws.close(),我不会收到任何错误。有谁知道为什么会这样?什么

4

0 回答 0