凡人没有梦
2017-05-25 09:41
采纳率: 0%
浏览 3.6k

安卓以太网的DHCP获取不到IP

HELLO,我在调试安卓设备时发现当路由器重启后,设备获取不到IP地址(使用的DHCP),通过抓包工具发现,安卓设备的discover包在路由器还没有完全起来之前就已经发送完毕,并且后续一直都没有discover包发出

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 凡人没有梦 2017-05-25 11:47

    正常情况在获取不到iP的情况下应该是每5分钟或者是几分钟发送一个discover包吧,不知道我的理解对不对?这里为什么没有包了呢? 相关的代码又在什么地方呢? 大家来帮忙分析分析吧,谢谢啦

    点赞 评论
  • 凡人没有梦 2017-05-31 07:40

    此问题已解,原因是我们的安卓设备中的dhcpcd守护进程的超时时间是30s,而路由器完全起来需要30多秒,所以导致路由器还没有完全起来,安卓设备中的dhcpcd进程已经是stoped了,后续的discover包就无法发出;故将dhcpcd的超时时间加长,以及使用定长的间隔时间发送discover包,此问题得解。dhcp标准协议中的discover包前面四个包的发送间隔是随机发送的只有第一个包后间隔1s,后面几个包是随机数会逐渐增大;四个包发送完后,后面好像是隔5分钟发一个包,这里看不到所发的包是因为dhcpcd守护进程已经停止。

    点赞 评论
  • kenllf 2019-07-15 17:13

    我也有类似的问题,我的是安卓7.1.2。
    就是网络风暴时,设备失去了ip,但是网络风暴结束后,并没有发送discover包

    而且另外有一个奇怪的现象,就是在adb shell中通过 ifconfig 可以发现已经获取到ip,但是在应用层却没有更新 ip 地址,还是显示 "获取中",而且上不了网。请问又是什么原因。(这是另外出现的)

    好像安卓7.1.2已经不是使用dhcpcd进程来获取,请问题主有研究过安卓7的相应内容吗?
    谢谢

    点赞 评论

相关推荐 更多相似问题