Пример Простой клиент TCP / IP зависнет, если данные не будут получены.
Чтобы увидеть, что я имею в виду, скопируйте код клиента и запустите его, но удалите один из\ r \ n в GET-запросе, чтобы сделать его недействительным, поэтому он выглядит следующим образом:
$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n";
Сервер не отвечает, что нормально, но я хочу иметь время ожидания илиспособ предотвратить зависание.
Я пытался установить время ожидания с помощью socket_set_option, но я думаю, что это применимо только к socket_connect.
У кого-нибудь есть решение?
ЕслиЯ использую socket_recv с флагом MSG_DONTWAIT, как правильно ждать все данные, закрытие соединения или тайм-аут, если ничего из этого не происходит?