这个问题,我差点和客户吵起来了。个人电脑确实没有问题,客户电脑却会常常出现,。今天查了下,竟然是这种问题,大意了,在这里记录下。服务器
服务器端程序开启的时候老是提示:bind错误,用WSAGetLastError()获取错误类型为10049。函数
memset(&server_addr,0,sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port =htons(7000);
server_addr.sin_addr.s_addr=inet_addr(INADDR_ANY);spa
10049 的意思是这样的。server
1 0 0 4 9 —W S A E A D D R N O TAVA I L
不能分配请求的地址。A P I 调用中指定的地址对那个函数来讲无效时,就会产生这样的错误。例如,若在b i n d 调用中指定一个I P 地址,但却没有对应的本地I P 接口,便会产生这样的错误。另外,经过c o n n e c t 、W S A C o n n e c t 、s e n d t o 、W S A S e n d To 和W S A J o i n L e a f 这四个函数为 准备链接的远程计算机指定端口0 时,也会产生这样的错误xml
最后通过一个网友的指点,接口
服务端是不可以用INADDR_ANY的 由于这个表示是主机上任意的地址,可是你还不知道服务器端的IP地址,你怎么找到服务器? 因此这里应该把INADDR_ANY设置为一个真正的IP地址, INADDR_ANY只能用于发送端(就是说,我要发送某个东西,能够采用个人任意的IP,而接受的IP必须是一个咱们能找到它的位置的IP)ast
完美解决,大喜。服务器端
2017/8/18 我如今以为出现这个问题的缘由会不会是上网卡的缘由。请求