2012-03-27 49 views
1

プロジェクトにWebソケットを使用しようとしています。私はそれを動作させるように思えるが、それはipadを使用する必要があります。ipadのWebSocketには、余分なものが必要ですか?

私はphpwebsocket http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/を使用するこのコードのコピーをダウンロードしました。続いてサーバーを設定します。私はそれをコンピュータ、さまざまなブラウザ間で問題なく動作させました。

私は私のipad(ios 5.1)でテストしたかったし、それはうまく動作しませんでした。だから私はWebSocketがipadで動作していることを確認しました。私は彼らが[link] http://websocket.org/echo.htmlを見つけました。

私はさらにそれを見て、それが接続しようとしていたのを見ましたが、約15秒後に切断すると、私は時間切れになります。それは私のMacの端末に表示され、接続が解除されていると言っています。

私は現在、それがルータだったかどうかを確認するために無線LAN上で、私のMacに私のiPadを接続していて、端末にIPアドレスがない255.255.255.96

誰がどのような任意のアイデアを持ってい255.255.255.100で終わる、違っ示し私はそれを並べ替えるために何をすべきか?

+0

Windowsマシンでこれをデバッグするときは、Fiddler(http://www.fiddler2.com/fiddler2/)を使用します。どんなリクエスト/レスポンスメッセージが送信されているのかを確認してから、さらに情報を入手するのに役立つようなものはありますか? –

答えて

5

どのような混乱。 that pageproject sourceでは、FlynsarmyはPHPWebSocketを使用していますが、実際にはphp-websocket-serverを使用しています。 (私は彼のページの間違いを示すコメントを投稿しました)。

これら2つのPHP用WebSocketプロジェクトはかなり異なっている:

  • PHPWebSocketは唯一のWebSocketプロトコルの古いHixie(プロトタイプ)のバージョンをサポートし、比較的古く、メンテナンスされていないプロジェクトです。
  • php-websocket-serverは、より新しいHyBi/IETF(標準)バージョンのプロトコルのみをサポートする、あまり知られていないがあまり知られていないプロジェクトです。

あなたの問題は、このです:SafariのデスクトップとiOSは、現在のphp-のWebSocketサーバーに基づいて、任意のプロジェクトでは動作しませんプロトコルの古いHixieバージョンをサポートしています。

クライアントとブラウザのバージョンを最初のハンドシェイクヘッダから検出できるため、プロトコルの旧バージョンと新バージョンの両方をサポートするWebSocketサーバを作成するのはかなり簡単です(ほとんどの言語には実装があります)。しかし何らかの理由で、両方をサポートするPHPベースのサーバーが不足しています。

+0

Safari DesktopとIOSで現在サポートされているプロトコルはどこですか?なぜなら、私はここで同じ問題に取り組んでいると思うからです。私のHTML5アプリケーションは、Google Chromeで完全に動作するようですが、SafariデスクトップやIOSでは動作しません。私はwebsocketサーバー側のプロトコルが最新のものであることを知っています。 "誰でも"合意しました。これが同じ問題ならば、私は真剣に最新の(そして最後の)プロトコルを実装していないためにAppleに腹を立てています... –

+0

私はnoVNC/websockifyの開発の一部としてそれらをテストしたので、私は知っています。サーバにハンドシェイクを印刷させることができれば、ハンドシェイクからどの特定のバージョンのワイヤプロトコルが使用されているかを知ることができます。各デスクトップブラウザでサポートされているバージョンについては、wikipediaページの下部を参照してください。http://en.wikipedia.org/wiki/WebSocket IETF 6455プロトコルは2011年11月にのみ完成しました。Safari 5.XおよびiOS 4.Xはずっとずっと外に出ていた。Safari 6は、おそらく最新のプロトコルバージョンを持っていますが、私はそれをテストしていません。 – kanaka

+0

情報をありがとう、論理的に見えます。私はそれが本当に問題であることが分かった... caniuse.com/websocketsによると、IOS 6のようだ、彼らは '完全なサポート'を(読んで:最終的に正しいプロトコルを実装した)。本当にこれらのこと、Appleに遅れをとらないのは、アップルです。 –

関連する問題