GetHostByAddr



  • Hallo,

    habe ein Problem mit gethostbyaddr, ich bekomme immer nur einen NULL Pointer
    zurück.

    HOSTENT *ptHost;
         IN_ADDR addr;
         addr.S_un.S_addr = inet_addr("127.0.0.1"); //Localhost
         ptHost = gethostbyaddr((char*)&addr, sizeof(addr) , AF_INET);
         if(ptHost != NULL)
         	Edit1->Text = ptHost->h_name;
         else
         	Edit1->Text = "Failed";
    

    Was mache ich da falsch?



  • Du must noch das Winsock starten:

    hostent *ptHost;
         WSAData stData;
         IN_ADDR addr;
         if(WSAStartup(0x0101, &stData) == 0)
         {
         addr.S_un.S_addr = inet_addr("127.0.0.1"); //Localhost
         ptHost = gethostbyaddr((char*)&addr, sizeof(addr) , AF_INET);
         if(ptHost != NULL)
             Edit1->Text = ptHost->h_name;
         else
             Edit1->Text = "Failed";
         }
         WSACleanup();
    


  • Danke Dir!

    Was macht WSAStartUp eigentlich, wird hier die DLL in den Speicher geladen?



  • Aus der msdn

    The WSAStartup function initiates use of the Winsock DLL by a process.


Anmelden zum Antworten