begin process at 2012 05 30 06:16:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Récupérer une adresse IP. ( à partir de 2 cartes réseaux. )


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer une adresse IP. ( à partir de 2 cartes réseaux. )

mardi 19 mars 2002 à 20:57:11 | Récupérer une adresse IP. ( à partir de 2 cartes réseaux. )

pcayrol

Ma config : un PC avec deux cartes réseaux. Chaque carte a son adresse IP.

Avec la fonction gethostbyname je recupere un pointeur HOSTENT qui pointe sur mes deux adresses. Jusque là, tout va bien.
Mais ce que je veux , c'est récupérer l'adresse correspondant à l'une des cartes réseaux. Y a t il un moyen d'identifier ces adresses par rapport à leur interface ?

Si c'est pas clair, dites le moi. Merci

Pascal
samedi 23 mars 2002 à 20:33:05 | Re : Récupérer une adresse IP. ( à partir de 2 cartes réseaux. )

ADPro22

Si tu veux récupérer l'ip locale associée à un hote, voici un code qui récupère l'adresse locale du pc sur lequel tu éxécute le prog :
(sous Windows...)


#include <iostream.h>
#include <stdlib.h>
#include <windows.h>
#include <winsock.h>

void AfficheLocalIP(void)
{
struct sockaddr_in sin ;
struct hostent * phe ;
char FAR buffer[64] ;

WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1, 1);
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
cerr << "Impossible de trouver winsock.dll" ;
}
gethostname(buffer, sizeof(buffer)) ;
phe = gethostbyname(buffer) ;
if(phe==NULL)
{
cerr << "Erreur : pointeur nul";
system("PAUSE");
exit(1) ;
}

memcpy(&sin.sin_addr.s_addr, phe->h_addr, phe->h_length);

cout << "Hote : " << buffer << endl ;
cout << "Adresse locale : " << inet_ntoa(sin.sin_addr)<< endl ;

WSACleanup() ;

}

void main()
{
AfficheLocalIP() ;
system("PAUSE");
}


Pour récupérer l'ip locale d'un autre hote, la portion de code qui devrait t'intéresser c'est :

memcpy(&sin.sin_addr.s_addr, phe->h_addr, phe->h_length);

cout << "Hote : " << buffer << endl ;
cout << "Adresse locale : " << inet_ntoa(sin.sin_addr)<< endl ;


J'espère avoir répondu à ta question.
Pour accéder à l'ip que le pc publie sur internet cf ma source http://www.cppfrance.com/article.asp?Val=327



-------------------------------
Réponse au message :
-------------------------------

Ma config : un PC avec deux cartes réseaux. Chaque carte a son adresse IP.

Avec la fonction gethostbyname je recupere un pointeur HOSTENT qui pointe sur mes deux adresses. Jusque là, tout va bien.
Mais ce que je veux , c'est récupérer l'adresse correspondant à l'une des cartes réseaux. Y a t il un moyen d'identifier ces adresses par rapport à leur interface ?

Si c'est pas clair, dites le moi. Merci

Pascal


Cette discussion est classée dans : récupérer, réseaux, ip, adresse, cartes


Répondre à ce message

Sujets en rapport avec ce message

récupérer adresse ip de la machine [ par sendouda ] salut;svp aidez moi.Je veux bien savoir comment récupérer l'adresse ip de ma machine pour l'utiliser dans un programme et si j'ai 2 cartes réseaux une Envoi d'un message Broadcast quand la carte reseau n'a pas d'IP [ par dunecann ] Bonjour,J'essaie de broadcaster un message DHCP alors que la carte reseau n'a pas d'adresse IP (apres un ipconfig /release) sur windows XP SP2.J'utili Récupérer l'IP du client (SOCKETS) dans une app client/serveur [ par supergrey ] Bonjour, je voudrais savoir comment récupérer l'IP du client a partir du programme serveur après le sock=accept(...);Merci d'avance ! Récupération d'une adresse IP avec GetAddress [ par Tribute2U ] Bjr, je cherche un moyen pour récupérer l'adresse IP saisie sur un champ de type 'IP Address'. Je sais que c'est la classe CIPAddressCtrl qui est derr partage internet avec 2 cartes réseaux sur le meme PC [ par kulk2001 ] Bonjour, j'essaie de configurer un partage de connexion au net grace à l'installation dans un PC de 2 cartes réseaux sous windows XP.Quelqu'un peut il Obtenir IP avec email [ par goutbouyo ] Salut, J'ai fait un chat multiclient pour windows. Le problème c'est qu'il faut que chaque client rentre l'adresse IP de la personne avec qui il veut gethostbyname??? C++ [ par typhoun ] Salut,   Je dois utiliser une adresse IP pour me connecté à un serveur et pour cela j'utilise la fonction struct hostent* FAR gethostbyname(const char recuperer l'adresse ip derriere un routeur [ par ebooserge ] salut a tous,juste une petite question sur la prog reseau. j'aimerais savoir s'il existe une fonction qui permet de recuperer l'adresse IP publique du [Socket] decouvrir son IP Public [ par ikaro ] salut je voudrais faire un logiciel avec le socket qui te donne ton adresse IP Internet(non local).savez vous comment obtenir l'adresse IP Public??<im adresse ip et TidIcmpClient [ par mathieu57100 ] Bonjourcomment puis-je récupérer l'adresse ip d'un ordinateur distant en spécifiant son nom dans TIdIcmpClient->host ?merci d'avance.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales