Возможно ли реализовать неблокирующий клиентский сокет? Я пытался использовать
sockfd = socket(AF_INET, SOCK_STREAM, 0);
fcntl(sockfd, F_SETFL, O_NONBLOCK);
connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr));
но когда приложение достигает оператора connect
, оно существует со следующей ошибкой:
ERROR connecting: Operation now in progress
Мне нужно создать совершенно неблокирующий сокет, который даже не ждет TCP-рукопожатия. Возможно ли это с помощью стандартных функций сокетов или мне нужно заняться многопоточностью?