Tag: connect

在非阻塞套接字连接中,select()始终返回1

我有这个代码段,旨在使用套接字连接连接到服务器。 但是,如果它无法在一定时间内连接到服务器,我希望它停止尝试。 我尝试使用这个非阻塞套接字和select命令执行此操作,但select总是返回1,表示当我提供的地址不存在时服务器存在。 有任何想法吗? SOCKET tcp_client( char *hname, char *sname ) { fd_set fdset; struct sockaddr_in peer; SOCKET s; FD_ZERO(&fdset); // FD_SET(STDIN, &fdset); FD_SET(s, &fdset); errno=1; struct timeval tv; tv.tv_sec = 15; set_address( hname, sname, &peer, “tcp” ); s = socket( AF_INET, SOCK_STREAM, 0 ); int n = 1; fcntl(s, F_SETFL, O_NONBLOCK); if ( !isvalidsock( […]