我正在为WiFi直接写一个应用程序,它使用我通过另一种方法(工作)传输的MAC地址,客户端将使用ARP表来查找主机的IP,因为groupownerintent根本无法在Android上运行。 但是,我一直发现我的ARP表只保留我的WiFi接入点(用于互联网接入),另外的P2接口在不到5分钟内消失。
什么是Android的ARP超时,有没有办法扩展它? 也许在我的应用程序中,这不是一个问题,但debugging是一个真正的痛苦,当接口closures,然后无法通过WiFi直接连接(因为它看起来很破碎,如果你通过代码)。
Android基于Linux内核,并使用相同类型的ARP超时策略 。 缓存中的条目在base_reachable_time / 2和3 * base_reachable_time / 2之间的某处超时,base_reachable_time默认为30秒左右。 您可以通过在/proc/sys/net/ipv4/neigh/eth0/base_reachable_time
的proc
界面更改内核参数来更改此设置,但需要对电话进行root化。 您也可以在检查表之前ping所需的MAC地址,以便更新缓存中的条目。