连接时超时更短

时间:2012-04-16 15:19:48

标签: c++ windows winapi winsock

connect失败了WSAETIMEDOUT。那很好,但是还有什么可以缩短暂停时间?也许像2-3秒?目前它似乎更高,如10秒。

操作系统是Windows,使用带有C ++的Winsock

2 个答案:

答案 0 :(得分:1)

在调用connect()之前将套接字置于非阻塞模式。如果返回WSAEWOULDBLOCK错误,请使用您想要的任何超时间隔调用select()。如果select()报告套接字变为可写,则连接成功。如果select()报告超时,请关闭套接字。

答案 1 :(得分:0)

以前曾经问过:WINSOCK - Setting a timeout for a connection attempt on a non existing IP?

不,它由IP堆栈处理。如果您需要更改此功能,则必须启动计时器并终止连接。