我正在使用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;
}
請解釋你爲什麼給我一個-1這裏。 – eddyq
您需要在調用任何其他系統調用之前調用'strerror()'。你沒有在這裏報告錯誤。 – EJP
錯誤...調用strerror()將錯誤號轉換爲字符串。如果它在系統調用之前完成,那麼它將轉換錯誤的錯誤編號。 – Eddy