iPhone WiFi Subnet Mask и Адрес маршрутизатора

У меня есть код, который позволяет мне определять MAC-адрес и IP-адрес соединения WiFi на iPhone, но я не могу выяснить, как получить Маску подсети и Адрес маршрутизатора для соединения. Кто-либо может указать на меня в правильном направлении здесь?

11
задан bvanderw 7 January 2010 в 20:54
поделиться

1 ответ

[

]Вы можете получить эту информацию, позвонив по телефону []getifaddrs[]. (Я использую эту функцию в одном из своих приложений, чтобы узнать IP-адрес iPhone.)[

] [
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
] [

]Это даст вам маску подсети; для []адреса маршрутизатора смотрите этот вопрос[].[

] [

]Это все сетевые UNIX-функции старой школы, вам нужно будет выбрать, какой из интерфейсов является WiFi-соединением (другие функции, такие как интерфейс обратной связи, тоже будут там). Тогда вам, возможно, придется использовать функции типа inet_ntoa() в зависимости от того, в каком формате вы хотите читать IP-адреса. Это неплохо, просто утомительно и уродливо. Развлекайтесь![

]
13
ответ дан 3 December 2019 в 07:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: