有没有什么办法可以在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