NodeJS中对接Binance交易所WebSocket通信失败问题排查
解决Binance WebSocket连接报错无法接收数据的问题
给你几个直接的排查和解决方法:
检查ws包版本兼容性
不同版本的ws库对WebSocket连接的处理逻辑有差异,建议安装稳定版本:npm uninstall ws npm install ws@8.14.2补全监听事件排查具体错误
你的代码缺少错误、连接状态的监听,根本没法定位问题,补上这些逻辑:const WebSocket = require('ws'); // 也可以尝试国内可用的镜像地址:wss://stream.binancezh.com:9443/ws/!miniTicker@arr const ws = new WebSocket('wss://stream.binance.com:9443/ws/!miniTicker@arr'); // 新增错误监听 ws.on('error', (error) => { console.error('WebSocket错误详情:', error); }); // 新增连接成功提示 ws.on('open', () => { console.log('WebSocket已成功连接'); }); // 新增连接关闭监听 ws.on('close', (code, reason) => { console.log('WebSocket连接已关闭', code, reason.toString()); }); ws.on('message', function (data){ try { const result = JSON.parse(data); console.log(result); } catch (err) { console.error('数据解析失败:', err); } });排查网络环境
国内环境可能需要配置代理,或者直接替换成Binance的国内镜像WebSocket地址尝试连接。更换连接格式测试
可以试试Binance另一种格式的聚合行情地址:wss://stream.binance.com:9443/stream?streams=!miniticker@arr
内容的提问来源于stack exchange,提问作者P B
相关产品推荐
相关产品推荐

