使用套接字时如何对连接尝试设置时间限制的问题的典型答案是:
1)使套接字无阻塞,
2)致电connect()
,
3)使用select()
查看连接是否成功。
目前尚不清楚的是,如果无法建立连接,如何在一定时间后终止连接尝试。据我所知,即使select()
返回(提供select()
超时小于操作系统超时),操作系统仍将继续尝试建立连接。
这是对的吗?如果是这样,我该如何停止这个过程?切换插座是否足够阻塞?除了关闭套接字之外还有其他选择吗?感谢。
答案 0 :(得分:0)
关闭套接字。如果您确定连接时间过长,则不会对您有任何进一步的用处。操作系统将停止尝试,释放资源等所有您想要的东西。