IPs nach Adressen auflösen (Sockets)



  • Wenn ich mit Sockets programmiere und dann eine Zieladresse eingebe, gibt es da eine Möglichkeit die IP durch einen Namen zu ersetzten? Also die IP aufzulösen? oder passiert das automatisch? Hier das Beispiel, dass ich gerade vor mir habe:

    struct sockaddr_in addr;
    s =                      socket(PF_INET, SOCK_STREAM, 0);
      if (s == INVALD_SOCKET)
      {
        perror("socket() failed");
        return 1;
      }
    addr.sin_addr.s_addr =  inet_addr("127.0.0.1");
    addr.sin_port =         htons(80);              
    addr.sin_family =       AF_INET;
    


  • struct hostent *he = NULL;
    char *blubb = "...";
    
    if(!(he = gethostbyname(blubb)))
    {
    	if((sa.sin_addr.s_addr = inet_addr(blubb)) == INADDR_NONE)
    	{
    		printf("Unable to resolve hostname.\n");
    		return;
    	}
    }
    else
    {
    	bcopy(he->h_addr,(struct in_addr *) &sa.sin_addr, he->h_length);
    }
    


  • Danke. Sieht recht gut aus 🙂


Anmelden zum Antworten