【问题标题】:400, 502, 503 errors with WebsocketsWebsockets 出现 400、502、503 错误
【发布时间】:2015-01-12 01:17:01
【问题描述】:

我正在使用 Socket.io、Node.js 和 Openshift 制作多人游戏。它工作了一段时间,但我做了一些小改动,现在与我更改的内容无关的东西已经坏了。当第二个玩家尝试加入游戏时,它会将所有人都踢出去,并为其他任何进入该网站的人显示 503 错误。对于第二个玩家,我收到很多控制台错误,包括

WebSocket connection to 'ws://avalon-evao.rhcloud.com/socket.io/?EIO=3&transport=websocket&sid=d5smykffy4EWHxgIAAAC' failed: Error during WebSocket handshake: Unexpected response code: 400

http://avalon-evao.rhcloud.com/socket.io/?EIO=3&transport=polling&t=1421020862973-4&sid=d5smykffy4EWHxgIAAAC Failed to load resource: the server responded with a status of 502 (Bad Gateway)

http://avalon-evao.rhcloud.com/socket.io/?EIO=3&transport=polling&t=1421020865831-6&sid=d5smykffy4EWHxgIAAAC Failed to load resource: the server responded with a status of 503 (Service Unavailable)

socket.io-1.2.0.js:2 WebSocket connection to 'ws://avalon-evao.rhcloud.com/socket.io/?EIO=3&transport=websocket&sid=c-fwcJaMkp_9rl5CAAAA' failed: WebSocket is closed before the connection is established.

它在 localhost 中运行良好,但真实站点已损坏。

这是我尝试过的:

  1. 使用 HTTPS。我仍然以某种方式收到 502 错误。
  2. 使用rhc app restart 重新启动应用程序
  3. 使用rhc app force-stop rhc app start 重新启动应用程序
  4. 检查内存限制。我还没打。
  5. 使用 { secure: true } 选项安全地连接到 websockets

是什么导致了这些错误,我该如何解决?

【问题讨论】:

  • 接受 websocket 连接的服务器端代码是什么样的?

标签: javascript node.js websocket socket.io openshift


【解决方案1】:

尝试:
ws://...rhcloud.com:8000/socket.io/...
wss://...rhcloud.com:8443/socket.io/...

https://help.openshift.com/hc/en-us/articles/203263674-What-external-ports-are-available-on-OpenShift

【讨论】:

  • 它摆脱了控制台错误,但我仍然被启动。
【解决方案2】:

原来我看错了日志。当我弄清楚如何读取 rhc 的日志时,我在数据库中发现了一个错误。我在不删除数据库的情况下更改了集合的结构,因此存在不再存在的键的索引。删除数据库,应用程序现在可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 1970-01-01
    相关资源
    最近更新 更多