Si vous voulez le externe adresse IP (celui utilisé pour se connecter depuis l'extérieur du réseau local), vous avez besoin d'interroger un serveur sur le réseau externe. Une rapide recherche ont été les suivants: http://checkip.dyndns.orghttp://www.whatismyip.com. Il est assez simple à charger la page en utilisant par exemple
[NSData dataWithContentsOfURL:url]
et faire un peu de manipulation de chaîne pour récupérer l'adresse IP.
Si vous voulez le interne adresse IP (celle attribuée par exemple par le serveur DHCP de votre appareil), ce que vous pouvez généralement faire est de résoudre le nom d'hôte du périphérique, c'est à dire
/*
Returns the local IP, or NULL on failure.
*/constchar*GetLocalIP(){char buf[256];if(gethostname(buf,sizeof(buf)))return NULL;struct hostent* he = gethostbyname(buf);if(!he)return NULL;for(int i=0; he->h_addr_list[i]; i++){char* ip = inet_ntoa(*(struct in_addr*)he->h_addr_list[i]);if(ip !=(char*)-1)return ip;}return NULL;}
4
Vous pouvez essayer d'utiliser similaire à ce service: Whatismyip et la capture de la chaîne 🙂
De crédit à Erica Sadun de l'iPhone Developer Cookbok, 2e éd, page 555.
Si vous voulez le externe adresse IP (celui utilisé pour se connecter depuis l'extérieur du réseau local), vous avez besoin d'interroger un serveur sur le réseau externe. Une rapide recherche ont été les suivants: http://checkip.dyndns.orghttp://www.whatismyip.com. Il est assez simple à charger la page en utilisant par exemple
et faire un peu de manipulation de chaîne pour récupérer l'adresse IP.
Si vous voulez le interne adresse IP (celle attribuée par exemple par le serveur DHCP de votre appareil), ce que vous pouvez généralement faire est de résoudre le nom d'hôte du périphérique, c'est à dire
Vous pouvez essayer d'utiliser similaire à ce service:
Whatismyip et la capture de la chaîne 🙂
De crédit à Erica Sadun de l'iPhone Developer Cookbok, 2e éd, page 555.