我正在使用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