[英]Windows TCP Socket Timeout C++
我有個問題
如何知道客戶端是否在指定時間內沒有響應服務器?!
我正在使用線程而不是選擇功能。
對你的幫助表示感謝 :)
謝謝你。
您需要按如下方式查看 [設置套接字選項][1]:
setsockopt(sockid, SOL_SOCKET, SO_RCVTIMEO,(char *)&tv,sizeof(struct timeval));
完成后,您可以在調用接收和/或發送函數時再次檢查SOCKET_ERROR
。 具體的錯誤碼可以通過調用WSAGetLastError
獲得。
這是潛在的錯誤代碼之一:
WSAEWOULDBLOCK 10035
資源暫時不可用。
此錯誤是從無法立即完成的非阻塞套接字上的操作返回的,例如當沒有數據排隊等待從套接字讀取時的 recv。 這是一個非致命錯誤,應稍后重試該操作。 WSAEWOULDBLOCK 被報告為在非阻塞 SOCK_STREAM 套接字上調用 connect 的結果是正常的,因為必須經過一段時間才能建立連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.