众所周知,UDP通信是不需要提前建立连接的,只要bind后,直接recvfrom就可以了。但是写UDP转发时,发现其中一方重启后,UDP转发的接收就会失败一次。

查阅资料后发现是Winsock的Bug,在WinSock Recvfrom() 现在返回 WSAECONNRESET 代替阻止或超时(WSAIoctl中的SIO_UDP_CONNRESET参数)一文中有解释。只需要以下代码就可以解决:

int bNewBehavior = 0;
DWORD dwBytesReturned;
WSAIoctl(s, SIO_UDP_CONNRESET, &bNewBehavior, sizeof bNewBehavior, NULL, 0, &dwBytesReturned, NULL, NULL);

但是在VS2019中,找不到SIO_UDP_CONNRESET的定义,可能是Windows觉得这个Bug已经修复了?
#define SIO_UDP_CONNRESET _WSAIOW(IOC_VENDOR,12)

recvfrom 10054之谜相关推荐

  1. Word2Vec原理推导

    文章转载自http://www.hankcs.com/nlp/word2vec.html 本文摘录整编了一些理论介绍,推导了word2vec中的数学原理:并考察了一些常见的word2vec实现,评测其 ...

  2. python 网络编程 socket 报错 ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

    服务端: # -*- coding: utf-8 -*- """ @File : 191226_基于UDP协议的socket_server端.py @Time : 201 ...

  3. python: 使用socket实现局域网不同主机通信。解决ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

    目录 1 socket的使用 1.1 TCP方法 1.2 UDP方法 2 局域网内连接 2.1 总结 1 socket的使用 1.1 TCP方法 在socket中使用socket.socket建立会话 ...

  4. bugku 杂项 就五层你能解开吗_你能解开这个和数字有关的逻辑解谜游戏吗? | 每日一考...

    今天是一道和数字有关的逻辑解谜游戏看看你能用多长时间得到答案这道题的目标是,把网格根据数字划分成很多个方形小块. 每个数字都代表它所在的小块面积,也就是包含了几个小格子,要求如下图,每个小块里必须有, ...

  5. 破解.NET 2.0配置之谜(一)

    引言 NET的美妙特点之一是它的XML配置功能.在.NET 1.x时代,常见的应用程设置.数据库连接字符串.ASP.NET Web服务器配置和基本的自定义配置数据可以存储在.config文件中.自定义 ...

  6. error: RPC failed; curl 56 OpenSSL SSL_read: Connection was reset, errno 10054

    error: RPC failed; curl 56 OpenSSL SSL_read: Connection was reset, errno 10054 1.问题:git下载代码时,报" ...

  7. 深度丨AI界的七大未解之谜:OpenAI丢出一组AI研究课题

    今天,OpenAI在官方博客上丢出了7个研究过程中发现的未解决问题. OpenAI希望这些问题能够成为新手入坑AI的一种有趣而有意义的方式,也帮助从业者提升技能. OpenAI版AI界七大未解之谜,现 ...

  8. 关于大脑未必是破解智能和意识之谜的钥匙探讨

    来源:刘锋的未来课堂 "人脑能创造11维结构"是瑞士的研究机构蓝脑(Blue Brain)的一个研究结论,蓝脑(Blue Brain)研究所主要目标是建立一个由超级计算机驱动的人脑 ...

  9. 生命起源之谜:RNA世界假说将迎来终结?

    ○ 流行的理论认为,生命起源于物质丰富的化学汤,而 RNA 是化学汤中最初的自我复制单元.但是,多肽和RNA混合起来或许会更高效. | 图片来源:Novikov Aleksey 来源:科学出版社    ...

最新文章

  1. linux 功能测试宏 POSIX_C_SOURCE
  2. 杭州网络推广带大家了解404页面的作用以及对网站优化的优势
  3. 将字符串中的字符按Z字形排列,按行输出
  4. 随机数公式生成一个负数和正数之间的数_java产生从负数到正数范围的随机数方法...
  5. MUI 地址选择器 - picker使用
  6. 一图解惑SQL JOINS
  7. 【面试题】序列化的 10 几个问题
  8. iOS 7.1下itms-services在线安装失败的解决方法
  9. echarts 地图常见效果
  10. 华为手机像素密度排行_最新手机性能排行榜出炉:高通骁龙865霸榜,前十不见华为!...
  11. clinux 防火墙增加白名单_linux配置防火墙 Centos7下 添加 端口白名单
  12. 学习OpenCV(2)OpenCV初探-2
  13. 硬件设计论坛_零基础学硬件工程师到哪里去培训 上EDA365电子论坛
  14. mysql opened tables_open_table与opened_table --2
  15. ActiveMQ 无法访问管理页面
  16. python判断是否为整数的函数_实现函数 isInteger(x) 来判断 x 是否是整数
  17. eclipse java 马士兵 百度云,java马士兵,java马士兵百度云资源_盘多多如风搜_盘搜搜_哎哟喂啊...
  18. Pycharm复制代码时括弧前出现空格
  19. Oracle归档日志使用情况及自动清理
  20. 【微信小程序】图片上传组件“mp-uploader“(weui)

热门文章

  1. 信息学奥赛一本通(c++):1169:大整数减法
  2. Chrome调试工具的使用,浏览器截图方法
  3. mysql工具及驱动下载地址
  4. unity 优化3-内存优化
  5. Linux 命令(文件和目录管理 - bzip2/bunzip2)
  6. Python学习笔记(八)—— 私有属性、私有方法、伪私有
  7. LocalDateTime 获取当前(年/月)第一天及最后一天 及 获取当天起始时间
  8. RabbitMQ 一文读懂
  9. 汽车电子软件开发需要的基本技能
  10. 【imessage苹果家庭推送群发】messageview前置的类型转换因变量