Доброго времени суток Есть массив Код (Text): $array = array( '37.28.165.107:3128', '91.228.178.138:8081', '89.222.212.86:8080', '178.208.255.123:3128', '192.227.139.227:3128', '77.94.48.4:80'); есть цикл обхода массива и выявление рабочего прокси через сокет Код (Text): foreach($array as $proxy) { $proxy = explode(':',$proxy); $fp = fsockopen ($proxy[0], $proxy[1], $errno, $errstr, 1); if($fp){ $pr = $proxy[0].':'.$proxy[1];break; } } Нужен код чтобы получить время ответа проксика, с целью выявления наиболее быстрого. Была идея считать время выполнения итерации, но может можно как то получить время ответа через сокет.
Прибегнул к решению подсчета время итерации... Код (Text): $array = array( '37.28.165.107:3128', '91.228.178.138:8081', '89.222.212.86:8080', '178.208.255.123:3128', '192.227.139.227:3128', '77.94.48.4:80'); foreach($array as $key => $proxy) { $start_time = microtime(); $start_array = explode(" ",$start_time); $start_time = $start_array[1] + $start_array[0]; $proxy = explode(':',$proxy); $fp = @fsockopen ($proxy[0], $proxy[1], $errno, $errstr, 1); if(!$fp || $errstr){continue;} $end_time = microtime(); $end_array = explode(" ",$end_time); $end_time = $end_array[1] + $end_array[0]; $time = $end_time - $start_time; $times[$key] = $time; } asort($times); foreach($times as $key => $time){$pr = $array[$key];break;} echo $pr; Если кто то может оптимизировать процесс буду благодарен, так как мне он кажется больно уж жирным...