关于socket通信bind()返回值错误:10049

在本机上写了一个简单的基于TCP的客户端和服务器端的通信程序,服务器端程序开启的时候总是提示: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);

 

对于10049错误类型的解释为:

 

1 0 0 4 9 —W S A E A D D R N O TAVA IL
不能分配请求的地址。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 时,也会产生这样的错误。

 

换了几个不同的端口,错误依旧.网上查找原因,也没得到解决。关掉防火墙也没得到解决。最后把:server_addr.sin_addr.s_addr=inet_addr(INADDR_ANY);

改为:server_addr.sin_addr.s_addr=inet_addr(“127.0.0.1”);

错误解决。不明白为何会这样。


转载地址:http://blog.sina.com.cn/s/blog_608740170100wt19.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值