IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

CSocket : Comment r�cup�rer sa propre IP


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 37
    Par d�faut CSocket : Comment r�cup�rer sa propre IP
    Bonjour,
    Je d�veloppe actuellement une application sous windows mobile avec les MFC.
    Pour mon application j'ai cr�� une classe UDPSocket qui �tend la classe CSocket afin de pouvoir broadcaster et recevoir des paquets UDP. Le but est de pouvoir communiquer avec diff�rent appareil qui ex�cute cette application.
    Cependant lorsque je boradcast un message mon application re�ois �galement ses propres messages. Comment peut-on r�cup�rer sa propre adresse ip afin que je puisse �viter de traiter les messages que j'ai moi m�me envoy�? J'ai essayer avec la fonction GetSockName de la classe CSocket mais cela ne fonctionne pas, l'adresse que je r�cup�re est toujours �gale � "0.0.0.0".

    Merci d'avance pour votre aide.

  2. #2
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Je ne sais pas s'il existe quelque chose sp�cifiquement MFC pour �a. Mais l'info tu peux l'avoir avec gethostname .

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    147
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Par d�faut
    gethostname ne retourne pas que le nom r�seau de la machine ?

    Parce que moi j'utilise en plus gethostbyname qui me renvoie l'adresse IP.

  4. #4
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Citation Envoy� par coincoin73 Voir le message
    gethostname ne retourne pas que le nom r�seau de la machine ?
    Citation Envoy� par MSDN
    The gethostname function retrieves the standard host name for the local computer.
    Citation Envoy� par coincoin73 Voir le message
    Parce que moi j'utilise en plus gethostbyname qui me renvoie l'adresse IP.
    Que mets-tu comme nom d'host � r�soudre?

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    147
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Par d�faut
    Voici la m�thode que j'utilise :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    char szHostname[256];
    char StrAddress[20];
     
    gethostname(szHostname, sizeof(szHostname));
    HOSTENT* pHostEnt = gethostbyname(szHostname);	//get host information from the host name
     
    sprintf(StrAddress, "%i.%i.%i.%i", ((in_addr*)pHostEnt->h_addr_list[0])->S_un.S_un_b.s_b1, ((in_addr*)pHostEnt->h_addr_list[0])->S_un.S_un_b.s_b2, ((in_addr*)pHostEnt->h_addr_list[0])->S_un.S_un_b.s_b3, ((in_addr*)pHostEnt->h_addr_list[0])->S_un.S_un_b.s_b4);
    Je sais le code est pas propre, mais j'ai enlev� tous les tests de validit� des informations retourn�es pour faire simple.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 37
    Par d�faut
    Ok cool
    Merci pour le petit exemple

  7. #7
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Citation Envoy� par coincoin73 Voir le message
    Voici la m�thode que j'utilise :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    char szHostname[256];
    char StrAddress[20];
     
    gethostname(szHostname, sizeof(szHostname));
    HOSTENT* pHostEnt = gethostbyname(szHostname);	//get host information from the host name
     
    sprintf(StrAddress, "%i.%i.%i.%i", ((in_addr*)pHostEnt->h_addr_list[0])->S_un.S_un_b.s_b1, ((in_addr*)pHostEnt->h_addr_list[0])->S_un.S_un_b.s_b2, ((in_addr*)pHostEnt->h_addr_list[0])->S_un.S_un_b.s_b3, ((in_addr*)pHostEnt->h_addr_list[0])->S_un.S_un_b.s_b4);
    Je sais le code est pas propre, mais j'ai enlev� tous les tests de validit� des informations retourn�es pour faire simple.
    Ca me rassure, tu utilises bien gethostname

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    147
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Par d�faut
    Dans mon premier post j'avais bien pr�cis� :
    Parce que moi j'utilise en plus gethostbyname qui me renvoie l'adresse IP

Discussions similaires

  1. Comment r�cup�rer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    R�ponses: 16
    Dernier message: 13/11/2009, 13h20
  2. Comment r�cup�rer l'adresse de son propre serveur?
    Par _Ulysse_ dans le forum D�veloppement Web en Java
    R�ponses: 1
    Dernier message: 19/12/2008, 23h40
  3. Comment r�cup�rer le raccourci Ctrl F4
    Par stef02032000 dans le forum C++Builder
    R�ponses: 3
    Dernier message: 21/05/2003, 15h53
  4. Comment r�cup�rer le VK_TAB ?
    Par henderson dans le forum C++Builder
    R�ponses: 5
    Dernier message: 11/12/2002, 11h32
  5. Comment r�cup�rer une adresse MAC ?
    Par psau dans le forum D�veloppement
    R�ponses: 7
    Dernier message: 19/07/2002, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo