Linux中的非阻塞连接

时间:2016-06-03 13:39:03

标签: c linux

我在Linux中使用函数connect。如果无法连接,它将始终等待连接。我想做什么:

  • 尝试连接
  • 如果成功,它将被阻止。
  • 如果没有,它将尝试连接两个小时
  • 如果在两小时后它没有成功连接,它将停止尝试,不再阻止。

我该怎么做?

我的部分代码:

serv_addr.sin_port = htons(_params->port);
_log.debug("connecting ...");
int co = connect(_socket,(struct sockaddr *) &serv_addr,sizeof(serv_addr));
if (co < 0) 
{
    return false;
}

_log.debug("connected ");

1 个答案:

答案 0 :(得分:0)

之前看起来已经回答过: 使用     socket(...,SOCK_NONBLOCK,...) 创建套接字。