多线程同时使用同一个socket时返回错误码10038

haltwang haltwang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
想实现的功能:
快速的局域网IP扫描工具

思路:
主线程创建一个socket
开辟两个新线程,一个用于发ICMP报文,一个用于收ICMP报文。
这两个新线程收发都使用主线程中创建的socket.

问题:
收发时都报错,socket返回错误码10038


debug:
1、socket传参没有问题,打印出来,三个线程中的socket值都是4294967295
2、ICMP收发的代码没有问题,在同一个线程中实现简单的ping程序正常。


初学网络编程,求指点,多谢。
...全文

相关推荐

windows socket错误码及出错原因

windows socket错误码及出错原因,可以参考一下。也可MSDN。

VictorLM

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绑定失败后如何解决?本文整理了一些资料,请有兴趣的人阅读

Darkingp
评论 2
收藏 已收藏
分享
返回顶部
haltwang
C++ 语言 65,214 成员 250,514 内容