在IE 8上启动socket.io transport'flashsocket'需要5秒钟

时间:2012-07-11 00:10:56

标签: flash internet-explorer socket.io

这是针对localhost运行的,禁用所有其他传输进行测试。

在IE和其他浏览器上测试其他传输时,没有这样的延迟。

有什么可以做的吗?我安装了最新的Adobe Flash,运行Windows 7 64bit,socket.io 0.9。

2 个答案:

答案 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