UDP Sockets in C#?
本文关键字:in Sockets UDP | 更新日期: 2023-09-27 18:19:19
如果socket.ReceiveFrom (byte [] message, EndPoint endPoint)
用于在绑定的UDP套接字上接收数据,并且没有收到数据会发生什么?它是继续等待数据到达还是继续?我特别说的是UDP数据报
等待数据。如果这种行为不够好,您可以使用异步接收。还要使用UDPClient。没有必要使用Socket本身。
如果没有数据可读,ReceiveFrom方法将阻塞,直到数据可用
来源:http://msdn.microsoft.com/en-us/library/aa329728%28v=vs.71%29.aspx
如果目标是强制套接字在X秒后停止侦听,以便您可以做其他事情(例如检查应用程序是否正在关闭),并且您正在使用同步套接字,那么我建议将Socket.ReceiveTimeout
设置为X秒数(因为Socket.ReceiveTimeout
以毫秒为单位是1000倍),然后捕获在超时时引发的结果异常