socket.io和域名

时间:2015-10-21 07:38:25

标签: node.js socket.io

我使用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类域名。

1 个答案:

答案 0 :(得分:0)

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

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

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

Engine.io Goals& Engine.io Architecture

Engine.io是socket.io构建于。

之上的