0

当前打开 websocket 的代码:

139    this.ws = new WebSocket('wss://ws.blockchain.info/inv')
140    this.ws.on('open', () => {
141        this.ws.send('{"op":"unconfirmed_sub"}')
142        setInterval(() => {
143            this.ws.send('{"op":"ping"}')
144          }, 10000)
145        })

起初,这段代码没有问题,每次我的节点 js 运行时,它都会使 websocket 保持活动状态。但是从昨天开始,websocket 每打开大约 10 秒就会出现一次这样的错误。

Error: WebSocket is not open: readyState 3 (CLOSED)
    at WebSocket.send (/root/project/node_modules/ws/lib/websocket.js:31                                                                                                                                                             
at Timeout.setInterval [as _onTimeout] (/root/project/src/master.js:143:17)                                                       
    at ontimeout (timers.js:469:11)
    at tryOnTimeout (timers.js:304:5)
    at Timer.listOnTimeout (timers.js:264:5)

那是因为 websocket 正在自行关闭吗?如果是的话,即使它已经关闭有点像重新打开它,有什么方法可以让 websocket 保持活动状态。或者也许还有另一种让它保持活力的替代方法?websocket 本身就是区块链 api。https://blockchain.info/api/api_websocket

对不起我的新手问题,我不是程序员,但我想学习如何解决这个问题,希望stackoverflow上的人可以帮助我!:D 感谢 Stackoverflow!

4

0 回答 0