在UDP通信过程中, 使用try...catch语句接受数据时,总是会出现一个错误:

System.Net.Sockets.SocketException (0x80004005): 远程主机强迫关闭了一个现有的连接。

最初的最愚蠢的解决方法就是,在catch语句里不做任何动作,让监听端口函数继续运行。但这并非一个长久之计,后来在网上找了 好久,找到了微软的解释和国外论坛DOTNET的一个解决方案。

微软的解释:http://support.microsoft.com/kb/263823

DOTNET的处理方法:http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework/topic1887.aspx

在初始化对象后设置属性如下:

uint IOC_IN = 0x80000000;
                    uint IOC_VENDOR = 0x18000000;
                    uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12;

//uc为接收数据所使用的UdpClient,不同程序自己手改
            uc.Client.IOControl((int)SIO_UDP_CONNRESET, new byte[] {Convert.ToByte(false)}, null);

Socket.IOControl 方法 (IOControlCode, Byte[], Byte[])

使用 IOControlCode 枚举指定控制代码,为 Socket 设置低级操作模式。

参数

ioControlCode

一个 IOControlCode 值,它指定要执行的操作的控制代码。

optionInValue

Byte 类型的数组,包含操作要求的输入数据。

optionOutValue

Byte 类型的数组,包含由操作返回的输出数据。

返回值

optionOutValue 参数中的字节数。

异常

异常类型 条件

SocketException

试图访问套接字时发生错误。有关更多信息,请参见备注部分。

ObjectDisposedException

Socket 已关闭。

InvalidOperationException

试图不使用 Blocking 属性更改阻止模式。

备注

此方法提供对 Socket 类的当前实例所基于的操作系统 Socket 的低级访问。有关更多信息,请参见 MSDN Library 中的 WSAIoctl 文档。

C#中UDP通信过程中出现:远程主机强迫关闭了一个现有的连接0x80004005】的解决方法相关推荐

  1. “Adb connection Error:远程主机强迫关闭了一个现有的连接。”的解决方法

    我在用eclipse时,用手机调试软件,Devices里面不显示我的手机, 控制台一直发送 "Adb connection Error:远程主机强迫关闭了一个现有的连接." 先说常 ...

  2. C#编程UDP通信过程中出现【远程主机强迫关闭了一个现有的连接0x80004005】的解决方法

    一直郁闷 UDP不是面向非连接的?? 在UDP通信过程中, 使用try...catch语句接受数据时,总是会出现一个错误: System.Net.Sockets.SocketException (0x ...

  3. 远程计算机强迫关闭一个连接,远程主机强迫关闭了一个现有的连接解决方法

    现在电脑出现的问题是多种多样的,对小编而言,最简单有效的方式是用装机吧一键重装软件重装系统,这些问题可能是系统补丁的漏洞所在,下面我整理了远程主机强迫关闭了一个现有的连接原因的解决方法. 一:在And ...

  4. svn提交报错,Error running context: 远程主机强迫关闭了一个现有的连接

    今天用svn提交代码,一直报错! 报错信息: Commit failed (details follow): Error running context: 远程主机强迫关闭了一个现有的连接. 网上的方 ...

  5. UDP 错误 10054 : 远程主机强迫关闭了一个现有的连接

    在公司一项目的UDP消息服务开发中时不时的会遇到这样一个问题:在UDP通信过程中,如果客户端中途断开,服务器会收到一个SocketException,错误ID为10054,描述是"远程主机强 ...

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

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

  7. Netty报错 远程主机强迫关闭了一个现有的连接 异常

    百度百科的描述 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客 ...

  8. “Adb connection Error:远程主机强迫关闭了一个现有的连接。”之我的解决方法。

    2015.8.19记: 最近在真机调试的时候,Eclipse Console界面经常会出现"Adb connection Error:远程主机强迫关闭了一个现有的连接."然后就弹出 ...

  9. 关于Redis出现“java.io.IOException: 远程主机强迫关闭了一个现有的连接”的一次排查

    背景 最近在使用springboot(Windows下)连接redis(云服务器)开发时发现一些问题:连接成功的情况下,在一段时间未交互数据后,再次通过连接与Redis传输数据回出现异常java.io ...

最新文章

  1. 记录值上调10_「阴阳师」10月16日维护更新公告,海国迷踪,迷影重重
  2. D3D中简单的截图方法 (转)
  3. React 项目 -ES6 语法类的继承 (10)
  4. JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别
  5. Java面试题,深入理解final关键字
  6. 解决MySQL数据库作古掉以及谢绝任事的办法
  7. asp.net 2.0 TreeView 数据绑定(原创)
  8. 2.1 CPU 上下文切换(上)
  9. jquery ajax怎么实现,你认为他有什么不足之处
  10. 汇编-子程序参数传递的三种方式-寄存器法,堆栈法,参数赋值法【详述后两者】
  11. document.createDocumentFragment 以及创建节点速度比较
  12. oracle 查看服务器密码修改,如何修改oracle用户密码
  13. 1.1 让CPU占用率曲线听你指挥[cpu manager]
  14. 微信撤回 服务器已删除,微信撤回已经毫无用处,99%都能找回!
  15. 智能客服搭建(2) - MRCP Server ASR插件开发
  16. no resolver defined to resolve
  17. 纯前端语言编写音乐播放器
  18. MAP(maximum a posteriori)
  19. 【BZOJ4327】JSOI2012 玄武密码 AC自动机
  20. 三台服务器搭建hadoop集群

热门文章

  1. 实现暂停一秒输出的效果_从暂停游戏联想到的
  2. psychopy 音频时长代码_PsychoPy入门_03_视频和音频的呈现
  3. 可疑文件_特制的ZIP文件能够绕过电子邮件安全网关
  4. ad元件定位孔放在哪一层_打造个人IP系列(4)——确立定位 搭建人设(上)
  5. Keil升级了,Keil Studio 来了!
  6. 砰的一声,实验室又炸鸡了
  7. python web框架 多线程_Django基础知识 web框架的本质详解
  8. html语言入门测试题,Web前端:20道非常基础的JavaScript测试题
  9. latex 数学公式_数学公式、方程式 OCR 识别编辑 LaTeX 公式软件神器—极度公式
  10. linux vi删除操作,vi删除操作