Socket.io 跳转到不同的域名后抛出 connect_error "server error"
Socket.io throw connect_error "server error" after moving to a different domain name
这是我最后一个问题的扩展:
目前,我在两个不同的域名中部署了两台服务器。第一台服务器在 socket.io 下工作得很好,所以我通过简单地从 GitHub 拉出相同的分支,将服务器重新部署到新域名,安装所有内容并 运行 它。然后我发现我所有的socket.io连接都失败了,症状和上次一模一样:总是连接'false',总是断开'true'.
这次我很确定和cors没有关系,因为我试了io.origins((origin, cb) => if (whitelist.includes(origin)) { cb(null, true) } else { cb('failed', false) )
,显示origin是允许的
我也试过cors: { origin: '*' }
,还是不行。
奇怪的是,尽管他们使用相同的代码,但连接到第一个域名却工作得很好。但是第二个有问题。
更新:
我用它来跟踪错误消息。
this.socket.on('connect_error', function(err) {
console.log(`connect_error due to ${err.message}`);
});
这是返回的内容:
connect_error due to server error
同时,在服务器端,除了正在创建的新连接和由于 ping 超时而断开的连接外,我什么也看不到。
在哪里可以找到更多信息来帮助我进行调试?
原来我在部署到新域名后忘记了运行 npm i
。 socket.io 的版本未更新并导致该问题。
看到这里的各位,在放弃调试之前,请确保你已经更新了包。
这是我最后一个问题的扩展:
目前,我在两个不同的域名中部署了两台服务器。第一台服务器在 socket.io 下工作得很好,所以我通过简单地从 GitHub 拉出相同的分支,将服务器重新部署到新域名,安装所有内容并 运行 它。然后我发现我所有的socket.io连接都失败了,症状和上次一模一样:总是连接'false',总是断开'true'.
这次我很确定和cors没有关系,因为我试了io.origins((origin, cb) => if (whitelist.includes(origin)) { cb(null, true) } else { cb('failed', false) )
,显示origin是允许的
我也试过cors: { origin: '*' }
,还是不行。
奇怪的是,尽管他们使用相同的代码,但连接到第一个域名却工作得很好。但是第二个有问题。
更新:
我用它来跟踪错误消息。
this.socket.on('connect_error', function(err) {
console.log(`connect_error due to ${err.message}`);
});
这是返回的内容:
connect_error due to server error
同时,在服务器端,除了正在创建的新连接和由于 ping 超时而断开的连接外,我什么也看不到。
在哪里可以找到更多信息来帮助我进行调试?
原来我在部署到新域名后忘记了运行 npm i
。 socket.io 的版本未更新并导致该问题。
看到这里的各位,在放弃调试之前,请确保你已经更新了包。