我正在使用以下方式監聽 UDP 套接字UdpClient:
UdpClient udpClient = new(new IPEndPoint(myLocalAddress, 12345));
udpClient.Receive();
確實,這會阻塞。因此,我將此代碼移到了單獨的Task.
一換網路,我就停止不再需要UdpClient的s。為此,我使用NetworkChange.NetworkAddressChanged事件。
我怎樣才能停止聽UdpClients?該UdpClient.Receive方法不允許CancellationToken.??
我還嘗試Socket通過 using 直接使用 a Socket.Receive(datagram)。但我也無法阻止這一點。
兩種方式都不停,連IP地址都不存在了,因為網路沒了。
uj5u.com熱心網友回復:
您可以使用asyncreceive ( UdpClient.ReceiveAsync) 的版本。這應該接受 .net 6 中的取消令牌(但不接受 .net-core 3.1 和更早版本)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/512329.html
標籤:C#。网插座
上一篇:未在NestJS微服務中接收資料
