Сделайте тайм-аут PHP socket_connect

У меня есть небольшое приложение, которое я создал для анализа сетевого подключения. Он запускается из браузера и подключается к локальному серверу PHP / Apache. Затем он просит PHP отправить пакет ping через необработанный сокет. Проблема в том, что если хост, на который я пытаюсь пинговать, не является живым или не отвечает на эхо-запросы, мы никогда не получим ответ от сервера.

Я полагаю, что запрос сокета живет, пока apache не будет перезапущен В последнее время я получаю смешанные результаты из своего приложения, и я обвиняю Apache, используя слишком много сокетов. В настоящее время я установил таймаут вызова AJAX, и я был доволен этим. Но мне действительно нужно, чтобы PHP делал тайм-аут, чтобы у меня не было 500 000 сокетов, открытых для недоступного хоста.

Пример кода:

$sockconn = @socket_connect($socket, $target, null);
if(!$sockconn)
{
    $raw['error'] = socket_strerror(socket_last_error());
    $raw['status'] = false;
    return $raw;
}

Эта функция не будет иметь тайм-аута. Мне нужно, чтобы тайм-аут. Также время выполнения PHP-скрипта НЕ влияет на сокеты.

Я невежественен.

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

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