【发布时间】:2012-08-30 06:20:36
【问题描述】:
我从 DHCP 信息中获取 IP 地址。当我有位表示的 IP 时如何计算下一个 IP 地址。
WifiManager wifii = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
DhcpInfo d = wifii.getDhcpInfo();
int mask = d.netmask;
int ip0 = d.ipAddress & d.netmask;
int num = ~d.netmask; //it should be correct but don't work. why?
//this don't work. How make it correct?
for(int ip = ip0; ip < ip + num; ip++){
//here ip next ip
}
【问题讨论】:
-
字节顺序没有正确记录。也许这不是您所期望的(小端与大端)。你有没有看过你实际得到的值?他们可能会提供线索...
-
我知道掩码 00000000.11111111.11111111.11111111 是 255.255.255.0
-
十个问题,没有接受的答案?我想说你很幸运能得到这个问题的答案。如果您将来想要好的答案,您应该真正接受答案(当然,如果它们可以接受的话)。请检查您的旧问题并“接受”您使用的答案。
-
@njzk2 其实我也不知道为什么还要把ip地址倒过来。这篇文章“stackoverflow.com/questions/5387036/…”告诉我
intToIp(int i)可以工作,但我发现返回字符串仍然存在字节序问题。不知道这是为什么?