2016-09-19 133 views
-1

我正在使用Windows 10和Visual Studio 2016.我無法綁定到端口80.我可以綁定到所有其他端口。印刷錯誤是:「IP地址0.0.0.0的綁定返回一個錯誤,80端口:沒有錯誤」無法綁定到端口80

這裏是我的代碼:

/* 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

請解釋你爲什麼給我一個-1這裏。 – eddyq

+0

您需要在調用任何其他系統調用之前調用'strerror()'。你沒有在這裏報告錯誤。 – EJP

+0

錯誤...調用strerror()將錯誤號轉換爲字符串。如果它在系統調用之前完成,那麼它將轉換錯誤的錯誤編號。 – Eddy

回答

0

使用「netstat -o -q -a -n「。然後使用任務管理器並查看詳細信息選項卡。點擊將PID從低到高排序。找到PID並注意打開端口的程序的名稱。在我的情況下系統正在偵聽端口80,因爲你不能殺死系統,那麼你基本上不能綁定到端口80.