1

動画ベースのコンテンツを配信するための古い Flash ベースのソリューションに代わる HTML 5 ベースのソリューションを開発しました。アップグレードの意図は、フラッシュのグリップを逃れ、サービスがモバイル デバイスで動作できるようにすることでした。

PC/Mac および iOS で、すべてが内部的にも外部的にもうまく機能します。ただし、企業の WiFi に接続すると Android が完全に失敗し、その理由がわかりません。プロキシ設定は正しく、インターネットは機能しています。

ビデオを表示しようとして、リモート デバッグで見ると、要求は保留中と表示されますが、実際には完了しません。

通信網

  • ネットワークは完全にロックダウンされており、インターネットへの直接接続はなく、すべてのリクエストは http プロキシ サーバーを経由します。
  • このため、TCP/UDP 5228-5230 は完全にブロックされているため、ネットワーク インジケーターは灰色ですが、インターネットの閲覧は機能します。
  • 多くの http プロキシを利用できます (使用しているソフトウェアはわかりません) が、どのプロキシでも機能しません。
  • プロキシ ルールはかなり緩和されており、facebook/youtube/vimeo はすべてブロックされていません。
  • ビデオはアカマイでホストされています
  • 利用可能なビデオ形式 webm および mp4

失敗条件

  • Android の Chrome で Akamai のビデオに直接アクセスします。企業 Wi-Fiでは失敗、3G/オープン Wi-Fi では動作
  • Android 上の Chrome で、内部 IIS 7.5 サーバー上のビデオに直接アクセスします。企業のwifi(まだhttpプロキシを使用)で動作します
  • Android の Chrome で Akamai のビデオに直接アクセスします。オープン Wi-Fi ではポート 5228 ~ 5230 UDP/TCP がブロックされていると動作します
  • Android の YouTube アプリ。企業の wifiでは失敗し、3g/open wifi では機能します。これは iOS で正常に動作します

これらのサービスは、企業の WiFi によってブロックされることはありませんが、問題の原因について考えられる人はいますか? 問題のデバッグに役立つアイデアはありますか?

私は現在、アンドロイド用のサメを試している同僚がいます。彼が何か役立つものを見つけたら、答えを更新します。

失敗したリクエストの 1 Wireshark を 編集失敗したリクエストの Wireshark

作業リクエストの Wireshark 作業リクエストの Wireshark

何らかの理由で SYN ACK が発生していません

編集 2 これだと確信しています。 https://code.google.com/p/android/issues/detail?id=54132

乾杯

4

2 に答える 2

0

いくつかの調査の後、これが問題であると確信しています。うまくいけば、それはすぐに解決されます。

https://code.google.com/p/android/issues/detail?id=54132

于 2013-07-24T16:33:22.723 に答える
0

あなたのアプリは Google Play サービス ライブラリを利用していますか。もしそうなら、それが理由かもしれません。

ネットワーク インジケーターは灰色ですが、インターネットを閲覧できるとおっしゃいました。つまり、インターネットに接続していても、デバイスが Google サーバーと通信できないことを意味します。アプリで Google Play Services ライブラリを使用する必要がある場合、Google サーバーにアクセスして API にアクセスしている可能性が高く、これがアプリの失敗の原因である可能性があります。

ログ cat には、Google サービスへのアクセスに失敗したことを示す何かがあると思いました。私は時々これが起こるのを見ましたが、接続することはできませんが、タイムアウト応答が返されないため、ロックされるので、これが起こっているのかもしれません.

可能であれば、Google サーバーにアクセスするために必要な TCP および UDP ポート 5228 を有効にすることをお勧めします。

于 2013-07-15T12:08:19.760 に答える