我做了一些搜索,似乎无法找到我正在寻找的答案,我能找到的唯一答案是使用select来查看套接字是否已经超时,这就是我已经在做的事情.
我想知道的是,无论如何要改变connect()超时之前的时间长度?我目前正在使用select()哪个返回errnoset,EINPROGRESS直到最终返回ETIMEDOUT.无论如何我可以改变这种ETIMEDOUT情况发生之前的时间吗?目前它发生在大约60秒后.我已经尝试调整传递给select()调用的超时值,但这只会影响超时之前的select()时间.
connect()。select()或poll()或epoll(),指定所需的超时,并将套接字指定为 a writefd,即阻塞,直到超时到期或套接字变为可写。getsockopt()并查看它是否为零。如果是,则连接成功,否则连接失败。请注意,您无法通过这种方式将连接超时增加到平台默认值(大约一分钟)之外,但您可以减少它。