作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有代码可以确定 iPhone 上 WiFi 连接的 MAC 地址和 IP 地址,但我不知道如何获取连接的子网掩码和路由器地址。有人能指出我正确的方向吗?
最佳答案
您可以通过调用 getifaddrs 获取该信息。 (我在我的应用程序中使用此功能来找出 iPhone 的 IP 地址。)
struct ifaddrs *ifa = NULL, *ifList;
getifaddrs(&ifList); // should check for errors
for (ifa = ifList; ifa != NULL; ifa = ifa->ifa_next) {
ifa->ifa_addr // interface address
ifa->ifa_netmask // subnet mask
ifa->ifa_dstaddr // broadcast address, NOT router address
}
freeifaddrs(ifList); // clean up after yourself
这将为您提供子网掩码;对于 the router address, see this question .
这都是老式的 UNIX 网络内容,您必须选择哪个接口(interface)是 WiFi 连接(其他内容,如环回接口(interface)也将在其中)。然后,您可能必须使用像 inet_ntoa() 这样的函数,具体取决于您想要读取 IP 地址的格式。这并不坏,只是乏味且丑陋。玩得开心!
关于iPhone WiFi 子网掩码和路由器地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023592/
我是一名优秀的程序员,十分优秀!