2

我目前遇到了使用coinbase-pro-nodenpm 包(https://github.com/coinbase/coinbase-pro-node)遇到的问题。我正在连接到该matches频道并在那里收听消息,但与 Websocket 的连接在几个小时后中断,而没有告诉我太多。我无法追溯问题,并且它不会在相同的时间间隔内发生。有时它会在我运行脚本几分钟后中断。谢谢您的帮助。

编码:

const CoinbasePro = require('coinbase-pro');
var coinbaseWs = '';

function connect() {
    coinbaseWs = new CoinbasePro.WebsocketClient(
        ['BTC-USD'],
        'wss://ws-feed.pro.coinbase.com',
        {
            key: 'xxxx',
            secret: 'xxxx',
            passphrase: 'xxxx',
        },
        { channels: ['matches'] }
    );  

    coinbaseWs.on('message', async data => { 
        console.log(data)  
    });

    coinbaseWs.on('error', err => {
      console.error("Connection with Coinbase websocket failed with error: " + err);
      console.log("Error stack trace: " + err.stack);
    });

    coinbaseWs.on('close', () => {
      console.error("Connection with Coinbase websocket closed!");
    });
}

connect();

错误堆栈:

Error: read ECONNRESET
File "internal/stream_base_commons.js", line 167, in TLSWrap.onStreamRead
4

1 回答 1

1

它确实会时不时地中断,没有明显的原因。您所能做的就是监听心跳消息并使用这些消息来决定是否重新启动新的 websocket 提要。我直接向 coinbase pro/gdax 客户支持提出了类似的查询。

于 2020-05-11T21:17:38.433 回答