当前打开 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!