有沒有什麼辦法可以在Win32環境中「調整」套接字connect()
調用的超時時間?具體來說,我想增加超時時間。使用的插座是非阻塞的。謝謝!調整套接字連接調用超時
2
A
回答
2
0
您可以嘗試使用SO_RCVTIMEO和SO_SNDTIMEO套接字選項爲任何套接字操作設置超時。例如:
struct timeval timeout;
timeout.tv_sec = 10;
timeout.tv_usec = 0;
if (setsockopt (sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout,
sizeof(timeout)) < 0)
error("setsockopt failed\n");
if (setsockopt (sockfd, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout,
sizeof(timeout)) < 0)
error("setsockopt failed\n");
您也可以嘗試alarm()。樣品:
signal(SIGALRM, connect_alarm); /* connect_alarm is you signal handler */
alarm(secs); /* secs is your timeout in seconds */
if (connect(fd, addr, addrlen) < 0)
{
if (errno == EINTR) /* timeout, do something below */
...
}
alarm(0); /* cancel the alarm */
+0
接收和發送超時與連接超時無關。 – EJP 2013-10-09 00:24:54
0
不,這是不可能的。默認連接超時可以減少,但不會增加。
相關問題
- 1. 套接字連接超時
- 2. 流星連接超時調整
- 3. 套接字等待連接超時
- 4. C:套接字連接超時
- 5. SSL套接字連接超時
- 6. Python套接字連接超時
- 7. 套接字連接不超時
- 8. Python套接字連接超時問題
- 9. bsd套接字連接超時iPhone
- 10. 調用Wcf函數時,套接字連接中止
- 11. 偵聽套接字連接,而不接受在Linux上調用
- 12. 何時調用套接字上的BeginAccept
- 13. 套接字超時! Telnet連接使用節點telnet-client問題
- 14. 套接字連接超時在c使用輪詢
- 15. C#套接字超時
- 16. Android - 套接字超時
- 17. LUA HTTP套接字超時
- 18. 套接字超時IPN
- 19. 套接字超時實現
- 20. Icinga - check_yum - 套接字超時?
- 21. Google BigQuery套接字超時
- 22. 套接字接收設置超時
- 23. .NET CF套接字接收超時
- 24. Python套接字 - 連接套接字
- 25. javax.xml.transform.TransformerException:com.sun.org.apache.xml.internal.utils.WrappedRuntimeException:連接超時:連接
- 26. 如何設置套接字超時失敗連接
- 27. 套接字的連接和讀取超時有什麼區別?
- 28. 關於C++中的套接字連接超時(UNIX)
- 29. ReactPHP /套接字服務器 - 設置連接超時
- 30. SOAP/HTTP協議中的頻繁套接字/連接超時
不,這是不可能的。默認連接超時可以減少但不會增加。 – EJP 2013-10-09 00:23:50