我正在我的网页游戏中记录断开连接。似乎 75% 的会话因代码 1001(正常)而断开连接,25% 的会话因代码 1006(错误)而断开连接。https://www.rfc-editor.org/rfc/rfc6455 https://www.rfc-editor.org/rfc/rfc6455
有时,关于错误原因,我会看到以下文字:
CloudFlare WebSocket 代理重新启动
但 1006 次断开连接中的大多数根本没有给出任何原因。玩家们毫无理由地断开连接。这通常发生在玩家正在积极玩游戏的 5-30 分钟内。
我的设置有这些:
- Node.js
- Express.js
- 云耀
- 数字海洋
- Docker
- https://github.com/websockets/ws https://github.com/websockets/ws
- SSL
- Nginx 超时 = 3600 秒
- Ping/Pong 存活 = 30 秒
我的问题是:
- 如何更好地调试这个问题?
- 可能导致此问题的常见情况有哪些?
出现此特定错误的原因是 Cloudflare 更新了其 SSL、防火墙、Nginx、物理服务器的软件或配置。
系统中几乎任何正在更新的堆栈都会踢出您的 websocket。你有2个解决方案:
- Websockets 不使用 Cloudflare
- 具有自动重连逻辑
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)