微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我从澳大利亚连接到德国时,为什么我与 Godot 的安全 websocket 连接失败? 编辑 1:编辑 2:

如何解决当我从澳大利亚连接到德国时,为什么我与 Godot 的安全 websocket 连接失败? 编辑 1:编辑 2:

请耐心等待,因为这是我在这个平台上的第一个问题。谢谢。 这是使用 godot (GDScript) 中的安全 websocket 协议 wss:// 的最小服务器的代码

Gist on github

当我从我家连接到我在德国托管的虚拟专用服务器或通过其他位置(例如美国或欧洲)的 VPN 时,它按预期工作。 当朋友从印度或澳大利亚连接时,或者我使用 VPN(例如阿根廷或澳大利亚)复制它时,它无法按预期工作。

index.js:8 WebSocket connection to 'wss://(hidden):port/' Failed: Error in connection establishment: net::ERR_SOCKET_NOT_CONNECTED.

我看起来只有在服务器和客户端之间的物理距离那么长时才会连接失败。

问题可能与 SSL 有关,因为当我使用普通的 websocket 协议时,一切都按预期工作。我从家里和通过 VPN 测试了 openssl -connect 命令:两者都很好。我还在 https://decoder.link/sslchecker/ 上检查了我的 ssl 配置。未检测到任何问题。

这个问题可能与 godot 有关,因为我设置了一个 nodejs 安全 websocket 服务器,即使我从澳大利亚连接,这也有效。

现在我真的不知道如何解决这个问题,所以我请你指出正确的方向。

godot 文档的有用文档:WebSocketServer WebSocketClient

编辑 1:

经过更多的测试,它变得更加混乱: 从印度连接互联网连接时:

WebSocket connection to 'wss://myDomain:port/' Failed: Connection closed before receiving a handshake response
connnetion error
connection close request from server received... client will close the connection
disconnected unexpected

有时它甚至可以工作(当网络不忙时)

从澳大利亚连接时:有时会出现 ERR_SOCKET_NOT_CONNECTEDConnection closed before receiving a handshake response connnetion error 错误

编辑 2:

仅 Firefox 有效,Chrome 或 Native 客户端无效。如果服务器和客户端之间的距离很大,我似乎Firefox可以更好地建立连接。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。