2016-09-19 148 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.