Удаленный хост остановлен в то время, как клиент пытается установить соединение. Клиент пытается подключиться к удаленному хосту, с ссылкой на vpn сервисы , но хост не работает (на нем произошла авария или он недоступен). В этом случае функция connect() блокируется до тех пор, пока она не будет завершена аварийно по тайм-ауту с ошибкой ETIMEDQUT (“Connection timed out” — Соединение завершено по тайм-ауту). Протокол TCP допускает работу в условиях медленных сетевых соединений, поэтому тайм-аут может не наступить в течение долгих минут.
Сеть неправильно настроена. Клиент пытается подключиться к удаленному хосту, но операционная система не может определить способ перенаправления сообщения по требуемому адресу назначения, поскольку неправильно выполнена настройка локального хоста или маршрутизатора, расположенного по пути следования. В этом случае функция connect() завершается аварийно с ошибкой ENETUNREACH (“Network is unreachable” — Сеть недоступна).
В программе допущены ошибки. Многие ошибки возникают из-за распространенных дефектов в программе. Например, при попытке вызвать функцию connect() с дескриптором файла, а не с сокетом возникает ошибка ENOTSOCK (“Socket operation on non-socket”— Операция сокета не с сокетом). Попытка вызвать функцию connect() с сокетом, который уже подключен, приводит к возникновению ошибки EISCONN (“Transport endpoint is already connected” - Оконечная точка транспортного протокола уже подключена). Ошибка ENOTSOCK может быть также возвращена при других вызовах сокета, bind(), listen(), accept() и sockopt().