Bonne source,
Code clair, symple et efficace pas de superflue.
Tous l'essentiel a été dis, et explication clair.
J'ai eu besoin d'un bout de code qui pourrait m'indiquer l'adresse ip,
suite a une quelque petites modification, j'ai formulé une fonction
qui me retourne le résultat de la consultation du serveur DNS,
donc l'adresse ip....
Ma note sur cette source : 10 / 10
Encore Bravo, pour ce code maléable, symple et efficace.
Et surtout accéssible a tous... ( Débutant, intermédiaire, confirmé )
salut,
le pb c'est que ya pas de norme pour tester la presence d'un routeur... en plus tu peux etre derriere un proxy et l'ip de celui ci ne sera pas ton ip internet.
le fait que ça marche chez certains, et pas chez d'autres (pas testé ce code la, mais il donnera l'ip locale c'est sur, à part 127.0.0.1 j'en ai pas d'autre que l'api me donnerais ;), c'est bien comme comsobob l'explique, en fait il faudrait juste modifier un peu le code, et au lieu d'une simple boucle for qui prenne la dernière ip donnée par les api, il faudrait inclure un test de l'ip, pour savoir si elle est réseau ou pas ( cf: http://www.commentcamarche.net/internet/ip.php3#reservees )
le seul problème c'est que ce code n'est valade que pour chercher l'ip réseau, l'ip internet ne marchera jamais dans le cas de connexions routeurs, il faudrait donc en plus inclure un test de présence routeur, puis de lui demander l'ip internet le tout par protocole upnp...qui a le courage ? xD
en fait si t'es connecté derriere un routeur ou via un proxy, du point de vue de ton PC, tu ne peux pas connaitre l'adresse IP depuis laquelle tu es vu depuis internet, a moins justement d'aller sur internet, et de demander a quelqu'un de te donner ton adresse IP (c'est une illustration, un programme qui fait ca devrait par ex: se connecter sur un site qui affiche l'ip des visiteurs)
cette source marche tres bien dans tous les autres cas.
pour linker dans dev cpp il faut aller chercher "project options" dans un menu (je ne sais plus lequel.
apres dans la fenetre qui apparait tu as deux line edit en bas tu prends la derniere et tu met le nom de ta librairie precedee de "-l"
ex : -lws2_32 pour ta lib
pour cela il faut creer un projet sinon le menu est grisé
autrement tu doit pouvoir passer en compilant en ligne (g jamais essayé car avant de passer sous linux je ne savais rien faire d'autre que F9 ;) )
ben moi avec ca jtrouve mon adresse internet. mon adresse locale elle est dans ip_resolue->h_addr_list[0], et mon adresse internet dans ip_resolue->h_addr_list[1] (pour moi). dc voila jpense ke l'adresse internet c'est bien le dernier ip_resolue->h_addr_list[i] non null, ce que calcule le code. l'as tu essayé avant de dire ca?
outil => option du compilateur => compilateur => ajouter des commentaire lors de l'appel des liens (à cocher) => ecrire -lws2_32
j'ai essayer de le faire marcher et j'arrive pas je suis sous Dev-C++
[Linker error] undefined reference to `WSAStartup@8'
[Linker error] undefined reference to `gethostname@8'
[Linker error] undefined reference to `gethostbyname@4'
[Linker error] undefined reference to `inet_ntoa@4'
C:\main.c ld returned 1 exit status
C:\Makefile.win [Build Error] [Projet1.dll] Error 1
J'ai deja fait quelque programme simple, mais la il y a plein de truc que je comprnd pas donc impossible de débuger.
je veux juste que ca marche, pour pouvoir récupérer mon adresse.
Code clair, symple et efficace pas de superflue.
Tous l'essentiel a été dis, et explication clair.
J'ai eu besoin d'un bout de code qui pourrait m'indiquer l'adresse ip,
suite a une quelque petites modification, j'ai formulé une fonction
qui me retourne le résultat de la consultation du serveur DNS,
donc l'adresse ip....
Ma note sur cette source : 10 / 10
Encore Bravo, pour ce code maléable, symple et efficace.
Et surtout accéssible a tous... ( Débutant, intermédiaire, confirmé )