iOS Safari WebSockets:以较短的间隔发送消息时的巨大延迟

时间:2012-01-09 19:13:42

标签: ios mobile safari websocket latency

我刚刚发现在iOS Safari(iOS 5.0.1)上使用websockets非常讨厌。当以非常接近的间隔发送两个消息时(例如30到40ms,在按钮上发送消息,在鼠标上发送消息),这两个消息在服务器上以200到300ms的间隔到达。 这使得在iOS上使用WebSockets真的很难制作一个遥控器,例如......

我很害怕我知道答案,但无论如何都要让它更好用吗?它似乎是Safari的Websockets实现中的一个错误,但它也可能来自WiFi实现(我几乎不这么认为......)?

1 个答案:

答案 0 :(得分:2)

我刚刚发现了某种解决方法,并且Safari Mobile的websockets实现甚至比我已经发现的更奇怪。

在进行一些ping测试以验证我的理论时,我意识到我不再有问题了。然后我用原始代码再次测试,我又遇到了同样的问题。

然后我意识到我的代码中的变化与ping测试相比:服务器永远不会向客户端发送任何内容。因此,每当我的服务器收到来自iPhone的消息时,他都会向其发送一条消息。这样,延迟就消失了。这真的很奇怪,可能还有一些事情可以解决这个问题,但与此同时,这样做......