【问题标题】:Issue with socket.io and domain namesocket.io 和域名问题
【发布时间】:2016-01-20 02:38:18
【问题描述】:

我在使用 socket.io 时遇到问题。

我的代码:var socket = io.connect('SUBDOMAIN.DOMAIN.fr');

响应错误:

WebSocket 连接到 ws://SUBDOMAIN.DOMAIN.fr/socket.io/?EIO=3&transport=websocket&sid=u2V-6uOMZrBtnCK5AAAH 失败:WebSocket 握手期间出错:意外的响应代码: 503

我的SUBDOMAIN.DOMAIN.fr 是A 类域。

【问题讨论】:

  • 您的服务器似乎给出了 unavailable 错误。这在客户端似乎不是问题。

标签: node.js socket.io


【解决方案1】:

这实际上意味着托管您的socket.io 服务的环境未启用WebSocket

socket.io 首次建立连接时,它将使用long-polling,一旦连接,它就会尝试升级连接以使用WebSocket。如果您的托管环境不支持WebSocket,那么您将看到此消息。它不会阻止socket.io 工作它只是意味着它试图升级到WebSocket 作为传输但失败了。现在,如果您明确声明 socket.io 应该只使用 WebSocket,那么您的连接将无法正常工作。

例如 IIS 7.5 或更低版本。 WebSocket isn't supported in IIS until version 8.0,因此在 IIS 7.5 或更低版本环境中使用 socket.io 的任何人每次建立连接时都会看到此消息。

这在Engine.io GoalsEngine.io Architecture 中进行了讨论。

Engine.io 是构建在 socket.io 之上的。

【讨论】:

    猜你喜欢
    • 2017-08-15
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多