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

C++Builder Discussion :

Récupérer adresse IP externe


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut Récupérer adresse IP externe
    Bonjour !
    Je voudrais savoir si il y a un moyen de récupérer mon adresse IP externe (wan) en c++ ou avec un composant Builder ?

    J'ai cette méthode pour récup mon adresse LAN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    AnsiString TForm1::AfficheIP(void)
    {
      struct sockaddr_in sin;
      struct hostent * phe;
      char FAR buffer[64] ;
     
      // Initialisation du service WSA
      WORD wVersionRequested;
      WSADATA wsaData;
      int err;
      wVersionRequested = MAKEWORD(1, 1);
      err = WSAStartup(wVersionRequested, &wsaData);
      if (err != 0)
      {
        return "Impossible de trouver winsock.dll";
      }
     
      // Récupération du nom de la machine
      gethostname(buffer, sizeof(buffer));
     
      // Récupération de la liste d'ips associées à la machine
      phe = gethostbyname(buffer);
      if(phe==NULL)
      {
        return "Erreur : pointeur nul";
       // WSACleanup();
     
      }
     
      // Enumération des adresses
      int I = 0 ;
      while((phe->h_addr_list[I+1])!=NULL)
      {
        I++;
      }
      memcpy(&sin.sin_addr.s_addr, phe->h_addr_list[I], phe->h_length);
     
      AnsiString IP = buffer;
      IP =IP + "/";
      IP =IP + inet_ntoa(sin.sin_addr) ;
     
      return IP ;
     
     //WSACleanup();
     
    }

  2. #2
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Wow je viens juste de découvrir la variable globale GStack utilisé par Indy.

    Pour connaitre ton adresse IP locale il suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String MyIP = GStack->LocalAddress;
    Pour plus de détail tu peux aller voir la FAQ Delphi.

    Pour connaître l'IP externe, d'après moi il va falloir envoyer qqchose et regarder ce qui nous reviens. Dans les exemples sur le site d'Indy il y en a un qui se nomme Traceroute. C'est dans le download de la section Indy 9: http://www.indyproject.org/Sockets/Demos
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

Discussions similaires

  1. Récupérer adresse erronnée + envoi par mail
    Par Cid67 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/04/2006, 11h17
  2. récupérer adresse ip
    Par mussara dans le forum Langage
    Réponses: 3
    Dernier message: 05/04/2006, 10h56
  3. Récupérer adresse IP client avec Internet Explorer
    Par samyrentier dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/03/2006, 16h41
  4. récupérer des données externes ?
    Par yos dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 13/02/2006, 15h16
  5. [CF][C#] Comment récupérer adresse Mac d'un PPC ?
    Par JBernn dans le forum Windows Mobile
    Réponses: 18
    Dernier message: 12/01/2006, 18h14

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