2016-04-25 24 views
1

在我的應用程序中,兩個不同的套接字正在接收和發送週期性數據。如果在特定時間段內沒有收到或發送,我需要關閉套接字。由於我使用的是連續流動的週期性數據,我以前無法設置發送和接收的數量。請幫我找出一段時間內套接字未收到或發送的方式如何檢查套接字在一段時間內未收到

+0

[如何創建一個最小,完整和可驗證的示例。](http://stackoverflow.com/help/mcve)同時請包括任何研究或迄今爲止嘗試解決當前問題的嘗試。 –

+0

您可以使用'select'來等待您的套接字上的I/O:它接受一個等待的最長時間段,所以如果它返回時沒有預期的I/O活動的指示,您可以關閉涉及的套接字......看看手冊頁和谷歌的一些例子,編寫你的代碼,如果你遇到困難,請回到這裏與你的代碼和具體問題。 –

回答

0

用SO_RCVTIMEO在套接字上設置讀取超時。如果到期,recv()將返回-1與errno == EAGAIN/EWOULDBLOCK

相關問題