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不是不管远程主机的吗?

猜你喜欢

转载自www.cnblogs.com/ganzhihui/p/9696217.html