Пытаюсь сделать пинг.
Код:
function ping($host, $timeout = 1) {
$socket = socket_create(AF_INET, SOCK_RAW, 1);
if ($socket === false) {
return array($err = socket_last_error(), socket_strerror($err));
}
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => $timeout, 'usec' => 0));
socket_connect($socket, $host, null);
$ts = microtime(true);
/* ICMP ping packet with a pre-calculated checksum */
$package = "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
socket_send($socket, $package, strLen($package), 0);
if (socket_read($socket, 255)) {
$result = microtime(true) - $ts;
} else {
$result = false;
}
socket_close($socket);
return $result;
}
Ошибка:
PHP Warning: socket_create(): Unable to create socket [0]: Сделана попытка дост
упа к сокету методом, запрещенным правами доступа.
in C:\Users\Сергей\Documents\Sandbox\sitetest\sitetest.php on line 23
Warning: socket_create(): Unable to create socket [0]: Сделана попытка доступа к
сокету методом, запрещенным правами доступа.
in C:\Users\Сергей\Documents\Sandbox\sitetest\sitetest.php on line 23
Ping failed: Сделана попытка доступа к сокету методом, запрещенным правами досту
па.
(10013)
Почему возвращается ошибка?
ОС - Windows 7 x64, брандмауэр - выключил.