Неблокирующая розетка - как проверить успешность соединения?

После правильной настройки неблокирующего сокета я делаю следующее для подключения:

Позвони, подключи по розетке.Если он возвращает 0, я уже подключился, если нет, проверьте errno.Если errno не EINPROGRESS, возникает ошибка.если errno равно EINPROGRESS, я могу опрашивать состояние соединения следующим образом: select_status = sock_select (FD_SETSIZE, NULL, & file_descriptor_set, NULL и & timeout); если select_status> 0, то проверьте с помощью FD_ISSET, установлен ли дескриптор файла.

Это верно? И я должен проверить, что fd_write не fd_read? Должен ли я позвонить getsockopt после выбора? С какими аргументами? Я не могу найти четкого объяснения того, что нужно сделать.

Я подключаюсь, но моя программа не сообщает об этом правильно, поэтому я использую выбор неправильно или это потому, что я не проверяю getsockopt.

Что говорит мне, что соединение было установлено?

Ответы на вопрос(1)

Ваш ответ на вопрос