gethostbyname() immer NULL



  • Hallo,

    Hab da ein kleines Problem und zwar liefert "gethostbyname() immer NULL zurück, warum?

    char site[256];
    ...
    
    fgets(site, sizeof(site), stdin);
    
    ...
    
    if(socket_create() == 1)
    {
    	fprintf(stdout, "socket(); failed!\n");
    	return -1;
    }
    
    if(socket_connect(site, port, sockfd) == 1)
    {
    	fprintf(stdout, "gethostbyname(); failed!\n");
    	return -1;
    }
    
    ...
    
    int socket_connect(char *server, int port, int sockfd)
    {	
    	struct sockaddr_in addr;
    	struct hostent *host;
    
    	if((host = gethostbyname(server)) == NULL)
    	{
    		return 1;
    	}
    
    	(int*)server = inet_ntoa(*((struct in_addr *)host->h_addr));
    
    	addr.sin_addr.s_addr = inet_addr(host);
    	addr.sin_port = htons(port);
    	addr.sin_family = AF_INET;
    
    	if(connect(sockfd, (struct sockaddr*)&addr, sizeof(addr)) == -1)
    	{
    		return 2;
    	}
    
    	return 0;
    }
    


  • schau dir doch mal die genause Fehlermeldung an (siehe errno man: gethostbyname(3))

    btw. solltest du mal was zur const-correctnes lesen 🙂



  • Bekomme: "Unknown host" mit herror.



  • ach ich dussel, hab vergessen das \n am ende des string zu entfernen...


Anmelden zum Antworten