Aktuelle IP-Adresse ermitteln



  • Habs jetz erst gesehen.

    h_addr_list[count]
    Das machst du in deiner IF nicht. Somit kommt der erste Adapter.

    Ändere das auf

    CString CDynIPDlg::getIP()
    {
     char hostname[20];
     hostent *hEnt = 0;        // Struktur
     CString ipAddr = "0.0.0.0";
    
     AfxSocketInit(NULL);
     gethostname(hostname, sizeof(hostname)-1);
     hEnt = gethostbyname(hostname);
    
     if(hEnt) 
     { 
      int count = 0;
      while (hEnt->h_addr_list[count] != NULL)
      {
       int ip1 = (unsigned int) hEnt->h_addr_list[count][0];
       if(ip1 != 127 && ip1 != 192)
       {
        ipAddr = inet_ntoa( *(LPIN_ADDR)*hEnt->h_addr_list[count][ );  // Hier die änderung
        //MessageBox(ipAddr, ipAddr, NULL);
       }
       count++;
      }
     } 
     return ipAddr;
    }
    


  • Welche Wrapperklasse ?



  • Die mysql-Wrapperklasse für VC++ 6.0!



  • dann legt sie in ein Extra verzeichnis. Nicht das Programm sucht die Datei sondern Windows.
    Zuerst wird im aktuellen progrmm ´verz. gesucht und dann in den PFADEN von Windows. z.B. c:windows/system32 us.w.
    Übrigens ist dies mit jeder DLL so da man nicht angeben kann wo die DLL gesucht werden soll.



  • Ok, danke! Aber ich glaube es gibt eine Lsg. die dll statisch zu linken. Ist aber auch nicht so wichtig!

    Trotzdem besteht aber das Problem mit der IP noch!?!?

    MFG Stefan



  • Hi!

    Schau mal hier nach:
    http://www.codeproject.com/Purgatory/localipquery.asp

    Gruß Andreas



  • Ich benutze diesen Code von Darth_Kane:

    http://www.c-plusplus.net/forum/viewtopic.php?t=44874

    Funktioniert einwandfrei.



  • Vielen Dank, ich denke jetzt es liegt an diesem komischen DSL-Modem von meinem Vater! Wenn ich nämlich netstat -r eingebe kommt folgendes raus:

    ===========================================================================
    Schnittstellenliste
    0x1 ........................... MS TCP Loopback interface
    0x2 ...00 04 0e ff ff ff ...... AVM FRITZ!web DSL PPP - Paketplaner-Miniport
    ===========================================================================
    ===========================================================================
    Aktive Routen:
         Netzwerkziel    Netzwerkmaske          Gateway   Schnittstelle  Anzahl
              0.0.0.0          0.0.0.0    192.168.122.1  192.168.122.254	  1
            127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1	  1
        192.168.122.0    255.255.255.0  192.168.122.254  192.168.122.254	  1
      192.168.122.254  255.255.255.255        127.0.0.1       127.0.0.1	  1
      192.168.122.255  255.255.255.255  192.168.122.254  192.168.122.254	  1
            224.0.0.0        240.0.0.0  192.168.122.254  192.168.122.254	  1
      255.255.255.255  255.255.255.255  192.168.122.254  192.168.122.254	  1
    Standardgateway:     192.168.122.1
    ===========================================================================
    Ständige Routen:
      Keine
    
    Routingtabelle
    

    Und das es da ein Standard-Gateway gibt ist doch sehr komisch. Also wird das ganze irgendwie wie bei einem Router gehandelt (vermute ich)!
    Trotzdem vielen Dak für die Hilfe!!!

    MFG Stefan

    P.S. Gibts irgendeine Lösung um an die richtige IP zu kommen, wenn man hinter einem Router sitzt???



  • Hab dir doch die Lösung mit der IP oben geschrieben.



  • Unix-Tom schrieb:

    Hab dir doch die Lösung mit der IP oben geschrieben.

    Sorry, das ist mir erst jetzt aufgefallen! Habe ich ausprobiert aber klappt auch nicht.
    Habe inzwischen herausgefunden, dass bei manchen DSL-Modems bzw. wenn ein Router davor sitzt, man die IP nur herausbekommt, in dem man sie aus einer html-Seite ausliest! Eine andere Möglichkeit gibt's anscheinend nicht.

    MFG Stefan


Anmelden zum Antworten