我刚刚发现在iOS Safari(iOS 5.0.1)上使用websocket有一件非常烦人的事情。当以非常近的间隔发送两条消息时(例如,在鼠标按下按钮时发送一条消息,在鼠标向上发送一条),两条消息在服务器上的间隔为200到300毫秒。这使得在iOS上使用WebSockets对于制作遥控器来说真的很痛苦。。。
我很害怕我知道答案,但有没有办法让它更好地工作?这似乎是Safari的Websockets实现中的一个错误,但它可能也来自WiFi实现吗(我几乎不这么认为…)?
我刚刚找到了某种解决方法,Safari Mobile的websockets实现的行为比我已经发现的更奇怪。
在做一些ping测试来验证我的理论时,我意识到我不再有这个问题了。然后我用我的原始代码再次测试,我又遇到了同样的问题。
然后我意识到,与ping测试相比,我的代码发生了什么变化:服务器从不向客户端发送任何内容。所以,每当我的服务器收到来自iPhone的消息时,他都会发回一条消息。这样,延迟就消失了。这真的很奇怪,可能需要采取一些措施来解决这个问题,但与此同时,这将起到…