3

到達しようとしているサーバーと通信するためのデスクトップJavaプログラムを作成し、動作させました。UDP パケットを送受信できます。私が行ったことをAndroidに移植する方法を知っています。数日間 Android Emulator をいじっていて、UDP パケットの受信で問題が発生しました。アプリを起動し、サーバーに接続してから、使用しているポートを再接続すると、130 個のパケットが入ってきますが、何もありません... WireShark を使用して、サーバーがまだパケットを送信していることを確認しました。は。Android のエミュレーターにIP フラッド検出のようなものはありますか?

編集:

つづり

  • サーバーは、開発用コンピューターが接続されているスイッチに接続されています。
  • デスクトップ アプリから送信したパケットにサーバーが応答しています。
  • サーバーは、開発用コンピューターの IP アドレスにパケットを送信しています。
  • 私が使用しているredirコマンドは「redir add udp:port:port」です

  • redir コマンドを発行すると、送信元アドレスが「10.0.2.2」の約 130 個のパケットが取得されます。

  • 「adb forward udp:port udp:port」を試してみましたが、「ソケットにバインドできません」というメッセージが表示されました
  • エミュレータの外部からのサーバーの IP は「10.10.0.100」です。

編集

  • サーバーがエミュレーターまたは別の Android デバイス上にない
4

2 に答える 2

1

同様の設定でテストを行ったところ、同じ動作が得られました。

約1秒後にUDPパケットを送信します。130 パケット エミュレータで動作している受信機がパケットの受信を停止し、パケットが送信され続けていることを確認しました。

SDK 10 と SDK 15 を使用してエミュレーターで上記のテストを行いました。どちらも Intel Accelerated Execution Manager で実行されています。

エミュレータのリダイレクト機能のバグのように見えます。または、お勧めのように、ある種のネットワーク フラッド防止です。

于 2012-10-08T20:45:15.483 に答える
0

Nexus 7 を購入し、現在開発中のこのアプリを実行したところ、3000 以上のパケットを受信できました。エミュレーターで何かのように見えます。

于 2012-10-11T14:11:03.890 に答える