我使用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类域名。
答案 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构建于。
之上的