2

私は WiFi ダイレクト用のアプリを作成していますが、別の方法 (動作する) を介して転送する MAC アドレスを使用します。この方法では、クライアントは ARP テーブルを使用してホストの IP を検索します。android では groupownerintent がまったく機能しないためです。 . しかし、arp テーブルには WiFi アクセス ポイント (インターネット アクセス用) しか保持されておらず、追加の p2p インターフェイスは 5 分以内に消えてしまいます。

Android の ARP タイムアウトとは何ですか?それを延長する方法はありますか? おそらく私のアプリでは問題ではありませんが、インターフェイスがダウンし、WiFi ダイレクト経由で接続できない場合のデバッグは本当に苦痛です (コードを使用するとかなり壊れているように見えるため)。

4

1 に答える 1

3

AndroidはLinuxカーネルに基づいており、同じ種類のARPタイムアウトポリシーを使用します。キャッシュ内のエントリは、base_reachable_time/2と3*base_reachable_time / 2の間のどこかでタイムアウトし、base_reachable_timeのデフォルトは30秒程度です。procのインターフェイスを介してカーネルパラメータを変更することでこの設定を変更できる場合があります/proc/sys/net/ipv4/neigh/eth0/base_reachable_timeが、電話をルート化する必要があります。テーブルをチェックしてキャッシュ内のエントリを最新の状態に保つ前に、MACが必要なIPにpingを実行することもできます。

于 2013-01-28T18:18:32.210 に答える