我正在使用Windows 10和Visual Studio 2016.我无法绑定到端口80.我可以绑定到所有其他端口。打印错误是:“绑定IP地址0.0.0.0返回错误,端口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 :(得分:2)
好吧,您可以使用netstat查看其他人是否正在收听,请参阅此文章:
https://technet.microsoft.com/en-us/library/bb490947.aspx
查找哪个进程已使用端口80并将其停止。
您还需要成为管理员或明确授予您正在运行的用户的访问权限,就像您绑定端口&lt; 1024.见这里
答案 1 :(得分:1)
使用“netstat -o -q -a -n”。然后使用任务管理器并查看“详细信息”选项卡。单击可将PID从低到高排序。找到PID并注意打开端口的程序的名称。在我的情况下,系统正在侦听端口80,因为你无法杀死系统,那么你基本上无法绑定到端口80。