【问题标题】:Socket.io throw connect_error "server error" after moving to a different domain nameSocket.io 移动到不同的域名后抛出 connect_error “服务器错误”
【发布时间】:2021-10-22 23:28:03
【问题描述】:

这是我上一个问题的延伸:

socket.io always has connection false

目前,我有两台服务器部署在两个不同的域名中。第一个服务器与 socket.io 完美配合,所以我将服务器重新部署到新域名,只需从 GitHub 拉出相同的分支,安装所有内容并运行它。然后我发现我所有的socket.io连接都失败了,症状和上次完全一样:连接总是'false',断开总是'true'。

这次我很确定它与 cors 无关,因为我尝试了io.origins((origin, cb) => if (whitelist.includes(origin)) { cb(null, true) } else { cb('failed', false) ) 并且它显示来源是允许的。

我也尝试了cors: { origin: '*' },但也没有用。

奇怪的是,尽管他们使用相同的代码,但连接到第一个域名却可以正常工作。但是第二个有问题。

更新:

我用它来跟踪错误消息。

        this.socket.on('connect_error', function(err) {
            console.log(`connect_error due to ${err.message}`);
        });

这就是返回的内容:

connect_error due to server error

与此同时,在服务器端,我只能看到新连接正在创建并由于 ping 超时而断开连接。

在哪里可以找到更多信息来帮助我进行调试?

【问题讨论】:

    标签: node.js angular socket.io


    【解决方案1】:

    原来我在部署到新域名后忘记运行npm i。 socket.io 的版本未更新并导致该问题。

    看到这个的每个人,只要确保你在放弃调试之前已经更新了包。

    【讨论】:

    • 谢谢你!升级 socket.io 服务器解决了我的问题
    猜你喜欢
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 2021-06-13
    相关资源
    最近更新 更多