这个问题,我差点和客户吵起来了。我的电脑确实没有问题,客户电脑却会经常出现,。今天查了下,居然是这种问题,大意了,在这里记录下。

服务器端程序开启的时候总是提示: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 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 时,也会产生这样的错误

最后经过一个网友的指点,

服务端是不能够用INADDR_ANY的  因为这个表示是主机上任意的地址,但是你还不知道服务器端的IP地址,你怎么找到服务器? 所以这里应该把INADDR_ANY设置为一个真正的IP地址,   INADDR_ANY只能用于发送端(就是说,我要发送某个东西,可以采用我的任意的IP,而接受的IP必须是一个我们能找到它的位置的IP)

完美解决,大喜。

关于socket通信bind()返回值错误:10049的更多相关文章

  1. (转)函数中使用 ajax 异步 同步 返回值错误 主函数显示返回值总是undefined -- ajax使用总结

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAloAAAE0CAIAAAB7LwoKAAAgAElEQVR4nO2dy6sc152A6+/R2mXwSn ...

  2. println()函数输出int类型返回值错误的问题

    out.println(); 在用这个语句输出其他类返回大的int类型的数据的时候,注意输出错误. 例如: out.println(class1.方法()):  导致错误: our.println(c ...

  3. Flex通信-与Java实现Socket通信实例

    Flex通信-与Java实现Socket通信实例  转自:http://blessht.iteye.com/blog/1136888 博客分类: Flex 环境准备 [服务器端] JDK1.6,“ja ...

  4. 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)(转)

    书上示例 在第一章<基本套接字>中,作者给出了一个TCP Socket通信的例子——反馈服务器,即服务器端直接把从客户端接收到的数据原原本本地反馈回去. 书上客户端代码如下: 1 2 3 ...

  5. linux命令执行返回值(附错误对照表)

    转自:http://blog.sina.com.cn/s/blog_6739945f0100zt4b.html 在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序在结 ...

  6. linux recv 返回值与linux socket 错误分析

    转载:http://blog.csdn.net/henry115/article/details/7054603 recv函数 int recv( SOCKET s, char FAR *buf, i ...

  7. 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值---部分内容可能不确切,待讨论

    1.阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值  ...

  8. (笔记)Linux Socket通信:bind: Address already in use

    在网络通信时使用Bind绑定IP地址跟端口号时,有时Ctrl+C强制结束进程之后,再次运行程序Bind错误,原因如下: 虽然用Ctrl+C强制结束了进程,但错误依然存在,用netstat -an |g ...

  9. [Linux]命令返回值以及错误对照表

    Linux执行完命令之后默认会有一个返回值 # ls app backupconfig.json Doc manage.py __pycache__ settings.py # echo $? 0 错 ...

随机推荐

  1. windows安装程序无法将windows配置为在此计算机的硬件上运行

    关于装windows系统时,出现一些安装中断的处理 该方法适用于 windows安装程序无法将windows配置为在此计算机的硬件上运行 计算机意外地重新启动或遇到错误. Windows 安装无法继续 ...

  2. Eclipse工程有乱码

    处理:把整个工程的“Text file encoding”属性设为GBK,就不会有乱码了.设置方法:在eclipse中右击工程,点击弹出框最下面的“Properties”,然后在弹出的窗口左侧点击“R ...

  3. 2-用EasyNetQ连接RabbitMQ(黄亮翻译)

    如果你连接过关系数据库,例如SQL Server.你会发现EasyNetQ处理connections有点奇怪.和关系数据库通讯一直都是通过client开始的.Client 打开一个连接, 发出一个SQ ...

  4. java CountDownLatch 使用介绍

    CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier.Semaphore.ConcurrentHashMap和BlockingQueue,它 ...

  5. ASP.NET CORE小试牛刀:干货(完整源码)

    扯淡 .NET Core 的推出让开发者欣喜万分,从封闭到拥抱开源十分振奋人心.对跨平台的支持,也让咱.NET开发者体验了一把 Write once,run any where 的感觉!近期离职后,时 ...

  6. 分享一个废弃已久的插件架构 (.Net)

    框架介绍 1:将插件暴露的页面数据接口复用到任何 WebForm和Mvc 架构的系统. 2:插件可在线卸载,发布,更新. 3:插件可分布式 独立 部署. 4:插件之间完全解耦,通过Url跳转 相互不需 ...

  7. docker学习笔记--重基础使用

    最近一直在研究Elasticsearch,后来部门的同事遇到了一个docker集群的未授权访问漏洞,于是稍微看了一下docker进行了一下基本的入门,本文把自己学习docker的过程进行了一个详细的记 ...

  8. data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)

    在上一节的例子中 volume container 的数据归根到底还是在 host 里,有没有办法将数据完全放到 volume container 中,同时又能与其他容器共享呢? 当然可以,通常我们称 ...

  9. GCD使用汇总

    本文目录 dispatch_queue_t.dispatch_block_t dispatch_sync.dispatch_async dispatch_set_target_queue.dispat ...

  10. Android - Fragment (三)不同Fragment之间的通信

    在Fragment的java文件中,可以使用getActivity()来获得调用它的activity, 然后再找到另一个Fragment,进行通信 getActivity().getFragmentM ...