3

Sony Xperia Z タブレットで udp パケットを受信する際に奇妙な問題に直面しています。私のアプリケーションは多くの udp パケットを受信しませんでした。そのため、タブレットをルート化してサメ アプリをインストールし、デバイスをルート化した後、サメ アプリを使用してネットワーク トラフィックをキャプチャしました。レポートを分析したところ、デバイスはすべてのパケットを受信しましたが、アプリケーションはそれらの多くを受信しませんでした。アプリケーションがパケットを受信しなかった場合、問題はブロードキャスト パケットをブロックするパケット フィルタである可能性があります。ここで、私のアプリケーションはほとんどパケットを受信しませんが、デバイスが受信したパケットを見逃しています。すべてのパケットを受信する samsung tab 2 および motorola xoom タブレットでは、この問題は確認されていません。コードの問題はないようです。誰かが同様の問題に直面しましたか? 私が試すことができる提案や情報があれば教えてください。

アップデート:

以下にコメントを追加しました。

4

2 に答える 2

3

I'd tell you a UDP joke, but you might not get it.

パケット損失は、UDP プロトコルの文書化された機能です。

UDP プロトコルは、パッケージが宛先に配信されることを保証しません。 http://en.wikipedia.org/wiki/User_Datagram_Protocol

于 2013-08-23T12:37:22.687 に答える
2

アプリがデバイスで受信した一部のパケットを見逃した理由がわかりました。データグラム ソケット レシーバーのバッファー サイズを小さな値に設定しました。バッファ サイズを設定するこのコードを削除すると、すべてのパケットを受信するようになりました。デフォルトでは、android はバッファ サイズを 163840B に設定しますが、私はサイズを 64 バイトに設定しました。Androidによって設定されたデフォルトのバッファサイズで正常に動作しています。

于 2013-08-28T09:47:47.470 に答える