我正在使用socket.io-client
将来自本机应用的套接字连接到ssl套接字服务器,并在connect-error
事件 - [Error: xhr poll error]
处收到错误。
以下是来自本地(客户端)的代码:
import io from 'socket.io-client';
import Config from '../../config';
var socketConfig = {
secure: true
}
function connect() {
this.socket = io(Config.notificationUrl, socketConfig);
// this.socket.connect();
this.socket.on('connect', () => console.log("Socket connected", self.socket.id));
this.socket.on('connect_error', (err) => console.log("connect_error", err));
this.socket.on('error', (err) => console.log("error", err));
}
我曾尝试向socketConfig添加传输:['websocket','polling'],但我还有其他错误[Error: websocket error]
。还尝试使用import io from 'socket.io-client/dist/socket.io'
,但没有区别。
注意:我成功连接到使用http协议的套接字服务器。
我正在使用react native 0.40.0和socket.io-client 1.7.3。
答案 0 :(得分:0)
如果您设置“ rejectUnauthorized = false”,则不安全。
https://socket.io/docs/client-api/#With-a-self-signed-certificate
// option 2. WARNING: it leaves you vulnerable to MITM attacks! rejectUnauthorized: false
答案 1 :(得分:0)
安装2.4.0 socket.io client
。
这个版本有engine.io 3.5.0
它解决了我的问题。