多线程同时使用同一个socket时返回错误码10038
快速的局域网IP扫描工具
思路:
主线程创建一个socket
开辟两个新线程,一个用于发ICMP报文,一个用于收ICMP报文。
这两个新线程收发都使用主线程中创建的socket.
问题:
收发时都报错,socket返回错误码10038
debug:
1、socket传参没有问题,打印出来,三个线程中的socket值都是4294967295
2、ICMP收发的代码没有问题,在同一个线程中实现简单的ping程序正常。
初学网络编程,求指点,多谢。
相关推荐
windows socket错误码及出错原因
windows socket错误码及出错原因,可以参考一下。也可MSDN。
VC异步多线程Socket实战:从阻塞多线程到IOCP选型
网络编程中,多线程Socket是处理并发连接的基础手段,而异步I/O模型则决定了系统在高负载下的表现。在Visual C++环境中,开发者常面临阻塞、非阻塞与真正异步I/O的选择困惑:阻塞recv在多连接下易卡死线程,select模型受fd_set上限制约,而IOCP完成端口虽能支撑数万级连接,却对缓冲区和生命周期管理提出更高要求。本文从线程归属原则、服务端监听与工作线程拆分、客户端connect超时控制、粘包拆包、心跳重连等工程实践入手,详细解析了VC异步多线程Socket的核心技术细节,并对比了阻塞多线
socket错误代码对应表
Socket错误代码对应表 提示: 在命令提示符下输入:net helpmsg 1xxxx 就能够得到Windows系统提供的错误提示的详细解释。 出现网络联机错误Socket error #11001 表示您的计算机无法连上服务器,请检查您的Proxy设定以及Proxy相关账号,或暂时取消您防毒软件的「个人防火墙」。 · 出现网络联机错误Socket error #11004 应该是网络联机状态问题,请用户检查网络联机是否正常。 · 出现网络联机错误Socket error #10060 Connection Timed Out 表示您与服务器发生联机逾时错误,请检查您的Proxy相关设定,以及Proxy Server是否已将SSL 443 port打开。
MFC 下错误编号对照表
MFC/C++错误号对照表,调用系统WSAGetLastError()函数来抓取错误号。
bind失败的解决方案
bind绑定失败后如何解决?本文整理了一些资料,请有兴趣的人阅读


