1. 程式人生 > >c#關於udp遠程關閉一個連接問題

c#關於udp遠程關閉一個連接問題

res png 遇到 reset end 但是 com 項目 技術分享

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遠程關閉一個連接問題