c#关于udp远程关闭一个连接问题

Posted 魑魅魍魉四天王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#关于udp远程关闭一个连接问题相关的知识,希望对你有一定的参考价值。

20180924

在一个项目使用UDP过程中遇到了这样一个问题,当远程主机有连接的时候服务端发送一条数据到客户端,将不会产生问题,但是如果连接中断之后,再向此客户端发送数据socket将会强行关闭连接,后果就是直接导致此udp作废。

解决方法:

在实例化UdpClient之后添加:

    uint IOC_IN = 0x80000000;
            uint IOC_VENDOR = 0x18000000;
            uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12;
            myUdp.Client.IOControl((int)SIO_UDP_CONNRESET, new byte[] { Convert.ToByte(false) }, null);

其中myUdp是实例化的对象。

至今未解之谜是为什么在未连接的情况下会强行中断,udp不是不管远程主机的吗?

 

以上是关于c#关于udp远程关闭一个连接问题的主要内容,如果未能解决你的问题,请参考以下文章

UDP Socket:一个现有的连接被远程主机强行关闭

Windows下的UDP爆了10054--远程主机强迫关闭了一个现有的连接

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

C# HttpClient 一个现有的连接被远程主机强行关闭

WSA UDP 套接字无法重用,因为它强制关闭连接

关于关闭远程后teamviewer无法连接问题