首页 > 解决方案 > Websocket 无故断开并出现 1006 错误

问题描述

我在我的网络游戏中记录断开连接。似乎 75% 的会话与代码 1001(正常)断开连接,而 25% 的会话与代码 1006(错误)断开连接。https://www.rfc-editor.org/rfc/rfc6455

有时由于错误原因,我会看到以下文字:

CloudFlare WebSocket 代理重新启动

但是他在 1006 次断开连接中的大多数根本没有给出任何理由。玩家完全没有理由断开连接。这通常发生在玩家积极玩游戏时的 5-30 分钟。

我的设置有这些:

我的问题是:

  1. 我怎样才能更好地调试这个问题?
  2. 可能导致此问题的常见情况有哪些?

标签: node.jsnginxwebsocketcloudflare

解决方案


此特定错误的原因是 Cloudflare 更新了其 SSL、防火墙、Nginx、物理服务器的软件或配置。

他们系统中几乎所有正在更新的堆栈都会踢出您的 websocket。您有 2 个解决方案:

  1. Websockets 不使用 Cloudflare
  2. 具有自动重新连接逻辑

推荐阅读