首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UDP套接字上的套接字错误10052

UDP套接字上的套接字错误10052
EN

Stack Overflow用户
提问于 2009-06-19 06:49:00
回答 3查看 14.2K关注 0票数 12

我们有一个UDP2.0桌面应用程序,它通过.NET发送和接收网络数据包。

一些用户报告了一个偶然的套接字错误10052,当代码在UDP套接字上调用socket.BeginReceiveFrom时就会发生这种错误。

这是什么意思?

套接字错误10052的官方MS文档是这样写的:"WSAENETRESET (10052)网络在重置时丢弃了连接。由于在操作过程中保持活动检测到失败,连接已经断开。如果试图在已经失败的连接上设置SO_KEEPALIVE,也可以由setsockopt返回。“

这对于UDP套接字来说意义不大,因为UDP是一种无连接协议。

我知道与UDP套接字相关的另一个关闭错误代码10054意味着收到了ICMP消息"Port Unreachable“,我想知道10052是否会映射到另一个ICMP消息?

我已经用谷歌搜索了几个月,阅读了网络书籍等,但什么也找不到。请帮助- UDP套接字上的套接字错误10052是什么意思?

提前感谢

EN

回答 3

Stack Overflow用户

发布于 2011-06-20 20:21:47

请参阅http://msdn.microsoft.com/en-us/library/ms740120%28v=vs.85%29.aspx,其中描述了recvfrom函数。它提到了WSAENETRESET (这是winsock错误10052):

对于数据报套接字,此错误指示生存时间已过期。

票数 8
EN

Stack Overflow用户

发布于 2012-05-18 16:14:33

发送UDP数据报时,请确保TTL值足够高。

如果您使用的是UdpClient类。然后在发送数据报之前使用以下内容:

代码语言:javascript
运行
复制
myUdpClient.Ttl = 255;

注: 255是TTL的最大值。如果该值不够,则会出现一些网络问题。

票数 3
EN

Stack Overflow用户

发布于 2009-08-12 03:13:04

WSAE NET RESET表明,这是由于网络接口本身的重置造成的。您的程序驻留在那里,绑定到UDP端口,因此在某种意义上它是连接的,但它连接到网络接口,而不是远程对等体。

尝试启动您的程序,使其达到即将进行此BeginReceiveFrom调用的位置,然后在设备管理器中禁用您的NIC并重新启用它。或者,使用Wi-Fi,断开并重新建立与WAP的连接。甚至可能只需拔下机器的以太网电缆,因为最近的Windows版本默认在发生这种情况时会关闭通过该NIC连接的所有套接字。

这将解释来自现场的罕见问题报告。这可能仅在硬件级别出现某些本地网络故障时才会发生。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1016655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档