这是针对localhost运行的,禁用所有其他传输进行测试。
在IE和其他浏览器上测试其他传输时,没有这样的延迟。
有什么可以做的吗?我安装了最新的Adobe Flash,运行Windows 7 64bit,socket.io 0.9。
答案 0 :(得分:4)
问题在于Flash policy server如何工作:它首先尝试连接到端口843并获取策略文件。如果在5秒内没有响应,它会尝试从服务器获取策略文件 - 而socket.io正在内部提供此文件。如果您想要防止这种情况,您可以从上面的链接运行您自己的Flash策略服务器 - 这将花费您几分钟时间并显着改善用户体验。
答案 1 :(得分:0)
我认为问题在于IE 8不支持websocket,当你尝试使用flashsocket时,它会回退到长轮询。即使IE 9本身也不支持套接字。您可以使用IE 10提供哪种本机支持,但默认情况下禁用它。在这里查看browsers support websockets
您遇到的五秒钟等待是因为long-polling。服务器保留请求,直到超时或某些信息到达。请参阅此处的差异socket.io - XHR polling vs flashsocket and websocket