2016-09-19 3 views
-1

Ich verwende Windows 10 und Visual Studio 2016. Ich kann nicht an Port 80 binden. Ich kann an alle anderen Ports binden. Der Fehler gedruckt ist: „Bind der IP-Adresse 0.0.0.0 hat einen Fehler zurückgegeben, Port 80: Kein Fehler“Kann nicht an Port 80 binden

Hier ist mein Code:

/* bind this socket to the server's Internet address */ 
if(bind(fd,(struct sockaddr *)server_addr,sizeof(struct sockaddr_in))<0) 
{ 
    printf("Bind of IP address %s returned an error, port %d: %s\n", 
     inet_ntoa(server_addr->sin_addr), ntohs(server_addr->sin_port), 
     strerror(errno)); 
    //close(fd); 
    return -1; 
} 
+0

Bitte erklären Sie mir, warum Sie mir hier eine -1 gegeben haben. – eddyq

+0

Sie müssen 'strerror()' aufrufen, bevor Sie andere Systemaufrufe aufrufen. Sie melden hier nicht die Fehlerkorrektur. – EJP

+0

Falsch ... Aufruf von strerror() konvertiert eine Fehlernummer in eine Zeichenfolge. Wenn dies vor dem Systemaufruf erfolgt, wird die falsche Fehlernummer konvertiert. – Eddy

Antwort

0

Use „netstat -o -q -ein". Dann verwenden Sie den Task-Manager und sehen Sie sich die Registerkarte Details an. Klicken Sie, um die PID als niedrig zu hoch zu sortieren. Suchen Sie die PID und notieren Sie den Namen des Programms, das den Port geöffnet hat. In meinem Fall hört System auf Port 80 und da Sie System nicht beenden können, können Sie grundsätzlich nicht an Port 80 binden.

Verwandte Themen