Trouver sa propre adresse ip

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 064 fois - Téléchargée 30 fois

Contenu du snippet

ce code semble un peu plus 'propre' que ceux que j'ai pu voir ici, mais je sais pas s'il marche dans tous les cas donc...

Source / Exemple :


#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
#include <stdio.h>
#include <stdlib.h>

void main()
{
   WSADATA wsaData;
   char host[100];
   HOSTENT* ip_resolue;
   SOCKADDR_IN valip;
   int compteur;

   // Initialisation des sockets windows.
   WSAStartup(MAKEWORD(2, 0), &wsaData);

   // Recuperation du nom d'hote de votre ordi.
   gethostname(host,sizeof(host)); 

   ip_resolue = gethostbyname(host);

   if (ip_resolue != NULL) // si c'est NULL sans doute n'est on pas connecté.
   {
      // recuperation du dernier entier 'compteur' tel que ip_resolue->h_addr_list[compteur] n'est pas null
      for (compteur = 0; ip_resolue->h_addr_list[compteur+1] != NULL; compteur++) {}

      memcpy(&valip.sin_addr.s_addr, ip_resolue->h_addr_list[compteur], ip_resolue->h_length);

      printf("Votre ip vaut : %s \n",inet_ntoa(valip.sin_addr));
   }
}

Conclusion :


si chez des gens ca ne marche pas, dites quel est votre OS, d'ou vous etes connectés et votre idée sur le fait que chez vous ca ne donne pas ce qu'il faut.
Merci ;)

A voir également

Ajouter un commentaire

Commentaires

black1bird
Messages postés
1
Date d'inscription
mercredi 15 juillet 2009
Statut
Membre
Dernière intervention
20 août 2009

merçi beaucoup ça ma beaucoup aidé
termi111
Messages postés
24
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
27 août 2009

probleme resolu

outil => option du compilateur => compilateur => ajouter des commentaire lors de l'appel des liens (à cocher) => ecrire -lws2_32
termi111
Messages postés
24
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
27 août 2009

salut

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.
wizard512
Messages postés
470
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013

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é )
cosmobob
Messages postés
706
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
4
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.