Node.js连接Binance WebSocket出现EPROTO错误的解决求助
Node.js连接Binance WebSocket出现EPROTO错误的解决求助
大家好,我最近在尝试用Node.js连接Binance的BTCUSDT交易数据流,写了一段简单的代码,但运行后一直抛出EPROTO错误,折腾了好多种方法都没解决,想请各位帮忙看看问题出在哪。
我的代码如下:
const WebSocket = require('ws'); const ws = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@trade'); ws.on('message', function incoming(data) { console.log(data); });
运行这段代码后,控制台输出了下面的错误信息:
node:events:493 throw er; // Unhandled 'error' event ^ Error: write EPROTO 885B0000:error:0A00010B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:355: at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16) Emitted 'error' event on WebSocket instance at: at emitErrorAndClose (C:\Users\uchun\node_modules\ws\lib\websocket.js:1033:13) at ClientRequest.<anonymous> (C:\Users\uchun\node_modules\ws\lib\websocket.js:880:5) at ClientRequest.emit (node:events:515:28) at TLSSocket.socketErrorListener (node:_http_client:495:9) at TLSSocket.emit (node:events:515:28) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { errno: -4046, code: 'EPROTO', syscall: 'write' } Node.js v21.1.0
我已经试过了很多方法,比如检查网络连接是否正常、更新ws包到最新版本、切换Node.js版本(目前用的是v21.1.0),甚至换了不同的网络环境,但错误还是一直出现,实在找不到头绪了,希望有经验的朋友能给点建议,谢谢!
备注:内容来源于stack exchange,提问作者Samandar
相关产品推荐
相关产品推荐

