ipad上的Websockets,还有什么需要做的吗?

时间:2012-03-27 17:55:43

标签: ipad mobile-safari websocket

我试图将websockets用于项目。它需要使用ipad,虽然我似乎无法使其工作。

我已经下载了使用phpwebsocket http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/的此代码的副本。然后设置服务器。我让它在计算机,不同的浏览器上工作,没问题。

然后我想在我的ipad(ios 5.1)上测试它,它不会工作。所以我确保websockets在ipad上工作,我发现他们确实[link] http://websocket.org/echo.html。

然后我进一步查看它,看到它正在尝试连接,但是在大约15秒后断开连接,我假设超时。它显示在我的Mac上的终端中,表示已断开连接。

我目前通过wifi将我的ipad连接到我的mac,看看它是否是路由器,终端IP地址显示不同,以255.255.255.100结尾而不是255.255.255.96

有没有人知道发生了什么,或者我应该怎么做才能对它进行排序。

1 个答案:

答案 0 :(得分:5)

真是一团糟。在that page project source中,Flynsarmy表示他正在使用PHPWebSocket,而实际上他正在使用php-websocket-server。 (我已经在他的页面上提交了一条表明错误的评论)。

这两个PHP WebSocket项目完全不同:

  • PHPWebSocket是一个相对较旧且未维护的项目,仅支持较旧的Hixie(原型)版本的WebSocket协议。
  • php-websocket-server是一个较新但不太知名的项目,仅支持较新的HyBi / IETF(标准)版协议。

你的问题是:Safari桌面和iOS目前支持协议的较旧的Hixie 版本,该版本不适用于任何基于php-websocket-server的项目。

使WebSocket服务器支持协议的旧版本和新版本(并且大多数语言都具有实现)非常容易,因为可以从初始握手头检测客户端/浏览器版本。但是由于某种原因,缺乏支持这两者的基于PHP的服务器。