簡體   English   中英

C#中的UDP套接字?

[英]UDP Sockets in C#?

如果使用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,以毫秒為單位),然后捕獲超時時引發的結果異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM