Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 62 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

PB comment faire figurer une IP dans un prog??

 
n°12798
dddd2
Profil : Jeune recrue
Posté le 27-04-2005 à 10:08:03  profilanswer
 

:) Salut :)  
 
Mon problème est assez simple : j'ai besoin de faire figurer l'IP du PC(celui ou tourne le programme)
 
J'ai trouvé une fonction pour trouver l'IP :
 
char   myname[256];
struct hostent *hp;
gethostname(myname, sizeof(myname));
hp = gethostbyname(myname);
 
L'IP est bien présente dans la variable "hp" mais je ne sais pas comment la lire je ne connais pas bien ce type de variable.
J'ai essayé avec :  
printf("%d",hp);     j'obtient un numéro du style 1384652.
printf("%s",hp);     ça plante le programme.
 
Il doit bien exister un façon de faire figurer cette IP à l'écran.
 
Si quelqu'un sait comment faire.... :??:  
 
Merci d'avance. :)  

n°12892
dddd2
Profil : Jeune recrue
Posté le 02-05-2005 à 14:41:57  profilanswer
 

c'est j'ai trouvé la solution a mon PB.

n°14212
POO
Profil : Jeune recrue
Posté le 19-07-2005 à 03:37:52  profilanswer
 

Expose nous la solution stp ^^, ca peut servir pour quelqu'un d'autre ;)

n°15236
damien99
Profil : Jeune recrue
Posté le 16-11-2005 à 16:32:57  profilanswer
 

Voila le code d'un programme qui affiche l'IP locale et internet s'il y en a une :
 
(il y a peut être des truc inutiles)
 

Code :
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <winsock2.h>
  4. #pragma comment(lib, "ws2_32.lib" )
  5. int main()
  6. {
  7. char mon_nom[64];     
  8. HOSTENT* ip_resolue;
  9. SOCKADDR_IN valip;
  10. SOCKADDR_IN sin;
  11. int compteur;
  12. WSADATA WSAData;
  13. WSAStartup(MAKEWORD(2,0), &WSAData);
  14. gethostname(mon_nom, sizeof(mon_nom));
  15. ip_resolue = gethostbyname(mon_nom);
  16. if(ip_resolue->h_addr_list[0] != NULL)
  17. {
  18. for (compteur = 0; ip_resolue->h_addr_list[compteur+1] != NULL; compteur++) {}
  19.         memcpy(&valip.sin_addr.s_addr, ip_resolue->h_addr_list[compteur], ip_resolue->h_length);
  20. printf("\nAdresse(s) IP : %s",inet_ntoa(valip.sin_addr));
  21. }
  22. if((ip_resolue->h_addr_list[0] != NULL)&&(ip_resolue->h_addr_list[1] != NULL))
  23. {
  24.         memcpy(&valip.sin_addr.s_addr, ip_resolue->h_addr_list[0], ip_resolue->h_length);
  25. printf(" / %s",inet_ntoa(valip.sin_addr));
  26. }
  27. getch();
  28. return(0);
  29. }


 
 ;)


Message édité par damien99 le 16-11-2005 à 16:34:29
n°15238
P-Y
Intermittent du troll
Profil : Vieux de la vieille
Posté le 16-11-2005 à 19:19:31  profilanswer
 

http://unixhelp.ed.ac.uk/CGI/man-cgi?gethostbyname
 
le contenu de la structure hostent c'est marque dans la page de manuel de gethostbyname pourtant :/


---------------
"Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent."
[:zzzinv][url=http://www.mozilla-europe.

Aller à :
Ajouter une réponse