В неблокирующем режиме функция Connect не выдаёт статуса коннекта, а лишь передаёт в стек запрос на коннект. Определить наличие коннекта можно посылая/принимая посылки и анализируя ответы соотв. функций и текущую ошибку.
У Вас же в программе сокет работает в блокирующем режиме и заблокировал всё на время таймаута, к-й меньше времени срабатывания собаки.
Правильный перевод в режим неблокирующего сокета:
res:=SysSockSetOption(cur_socket,SOCKET_SOL,SOCK_N BIO,0,0);
Также, для работы в неблокирующем режиме требуется установить ПО версии 0.3.43





Ответить с цитированием