0

そうです、計画されたユーザー テストの前日、iPad PhoneGapまたはCordovaアプリケーションが iPad 3 IOS 5.1.1 では動作しないことがわかりましたが、同じ IOS バージョンの iPad 2 では完全に動作しました! 私は愚かな人間でしたが、これが新しい iPad で動作することが保証されるだろうと「想定」していました。学んだ教訓だと思います。

webSocket サーバーをスムーズに実行する Arduino デバイスがあります。私は、Google Chrome の最新の開発ビルドのラップトップで同じ Arduino デバイスを使用してアプリをテストしており、以前は最新の iOS バージョンを搭載した iPad 2 でテストしていました。

iPad 側では、webSockets を使用する PhoneGap または Cordova HTML5 / JavaScript アプリケーションを実行しています。

私は、サードパーティのネットワーク/Web ソケット サービスまたはテクノロジに依存していません。Google Chrome で動作する Webkit Web ソケットの実装だけであり、明らかに iPad 2..

そのため、iPad 3 が登場しました。WebSocket 接続が失敗したようです。私はネットワークの達人ではありませんが、基本的なことは知っていると思います。また、ハンドシェイクで問題が発生したかどうかをWiresharkを使用して調べようとしました。でも、握手すらしないらしい。ARPリクエストでiPad 3が停止!

以下に、私の Wireshark (プロミスキャス モードのみ、監視モードは機能しないようです) の出力とスクリーンショットへのリンクを含めました。


ラップトップ出力 (Wireshark が必要)

iPad 3 出力 (Wireshark が必要)


ラップトップ出力 スクリーンショット

iPad 3 出力 スクリーンショット


どうしたの?Arduino デバイスが iPad 3 からの ARP に応答せず、iPad 2 からの ARP に応答しているのはなぜですか?

奇妙なことに、iPad 3 側の Web ソケットの実装に問題はないはずです。この Web ソケットのデモ サイトで確認しました: http://www.websocket.org/echo.html

4

1 に答える 1

1

原因はおそらく、iPad2 と iPad 3 の両方の古い実装 (現時点では最新の IOS 5.1.1) でした。サーバー側で使用されるプロトコルも古いため、機能する前にwebSocketサーバーコードを数回更新しました。それが更新された後、アプリの通信部分をテストしたことがないことに気付きました。バカ!

私には2つのオプションがあります.webSocketサーバーの作成者が古いプロトコル実装のバージョンを提供できることを願っています。サファリモバイルの正しいプロトコル、今だけ...)。私の間違いで他の人が同じことをしないように願っています: アプリケーションで webSockets を使用するときは、必ず毎回の反復で通信フローをテストしてください!

于 2012-07-31T15:21:50.610 に答える