<?php
function isAlive($services) {
foreach ($services as $address => $port) {
$service = array(
"address" => $address,
"port" => $port,
"errno" => "",
"errstr" => "",
"alive" => false
);
$sock = @fsockopen($address, $port, $service["errno"], $service["errstr"], 5);
if ($sock) {
fprintf($sock, "GET / HTTP/1.0\r\n");
fprintf($sock, "\r\n");
$service["response"] = stream_get_contents($sock);
if ($service["response"]) {
$service["alive"] = true;
}
fclose($sock);
}
yield $service;
}
}
$services = array(
"castel.be" => 80,
"wardkennes.be" => 80,
"lyrecomovies.com" => 80
);
foreach (isAlive($services) as $service) {
if (!$service["alive"]) {
printf(
"%s:%d: failure (%d) %s\n",
$service["address"], $service["port"], $service["errno"], $service["errstr"]);
} else {
printf(
"%s:%d: alive: %d bytes\n",
$service["address"], $service["port"], strlen($service["response"]));
}
}
?>
preferences:
37.93 ms | 402 KiB | 5 Q