ПОМОГИТЕ ПОЖАЛУЙСТА ЛЮДИ ДОБРЫЕ
Спустя 1 час, 54 минуты, 5 секунд (2.11.2011 - 08:20) imbalance_hero написал(а):
alexphp123
Какой мониторинг? Какой сети? Если я правильно понял, то через соккеты.
Какой мониторинг? Какой сети? Если я правильно понял, то через соккеты.
Спустя 3 минуты, 59 секунд (2.11.2011 - 08:24) linker написал(а):
Что значит мониторинг сети? Какая проблема скачать нормальный софт на эту тему?
Спустя 2 часа, 27 минут, 47 секунд (2.11.2011 - 10:52) alexphp123 написал(а):
Проблема в том что надо именно на php Мониторинг доступность компьтеров в сети .
Спустя 41 минута, 42 секунды (2.11.2011 - 11:34) linker написал(а):
Ну в цикле через сокеты.
Спустя 1 минута, 13 секунд (2.11.2011 - 11:35) alexphp123 написал(а):
А можно по подробней ?
Спустя 3 минуты, 8 секунд (2.11.2011 - 11:38) programmer-php написал(а):
Цитата |
мониторинг сети |

Спустя 23 минуты, 29 секунд (2.11.2011 - 12:02) killer8080 написал(а):
Оно?
Спустя 59 минут, 38 секунд (2.11.2011 - 13:01) alexphp123 написал(а):
Нет ((( пример есть адреса 192.168.1.1-192,168,1,200
нужен постояный пинг что бы знать что они в сети
нужен постояный пинг что бы знать что они в сети
Спустя 26 минут, 15 секунд (2.11.2011 - 13:28) killer8080 написал(а):
alexphp123
как нет? В той статье же есть функция пинга через сокеты.
как нет? В той статье же есть функция пинга через сокеты.
Свернутый текст
// Checksum calculation function
function icmpChecksum($data)
{
if (strlen($data)%2)
$data .= "\x00";
$bit = unpack('n*', $data);
$sum = array_sum($bit);
while ($sum >> 16)
$sum = ($sum >> 16) + ($sum & 0xffff);
return pack('n*', ~$sum);
}
// Making the package
$type = "\x08";
$code = "\x00";
$checksum = "\x00\x00";
$identifier = "\x00\x00";
$seqNumber = "\x00\x00";
$data = "Scarface";
$package = $type.$code.$checksum.$identifier.$seqNumber.$data;
$checksum = icmpChecksum($package); // Calculate the checksum
$package = $type.$code.$checksum.$identifier.$seqNumber.$data;
// And off to the sockets
$socket = socket_create(AF_INET, SOCK_RAW, 1);
socket_connect($socket, "www.google.com", null);
// If you're using below PHP 5, see the manual for the microtime_float
// function. Instead of just using the microtime() function.
$startTime = microtime(true);
socket_send($socket, $package, strLen($package), 0);
if (socket_read($socket, 255)) {
echo round(microtime(true) - $startTime, 4) .' seconds';
}
socket_close($socket);
Спустя 9 минут, 19 секунд (2.11.2011 - 13:37) alexphp123 написал(а):
он у меня не работает((((((
Спустя 14 минут, 4 секунды (2.11.2011 - 13:51) killer8080 написал(а):
Там эмулируется icmp echo request (ping)
Ну на крайняк можно просто проверять по наличию открытого порта, например нетбиос (если он есть)
Ну на крайняк можно просто проверять по наличию открытого порта, например нетбиос (если он есть)
if($f = @fsockopen('192.168.4.5', 139, $no, $text, 3)){
echo 'online';
fclose($f);
}
else{
echo 'offline';
}
Спустя 16 минут, 17 секунд (2.11.2011 - 14:07) killer8080 написал(а):
Цитата (alexphp123 @ 2.11.2011 - 13:37) |
он у меня не работает(((((( |
Потому что нужно расширение Sockets, в кастрированном денвере его нет

Спустя 15 часов, 42 минуты, 27 секунд (3.11.2011 - 05:50) alexphp123 написал(а):
Спасибо все заработала но не у всех открыт порт даже 80 так что надо всетаки ping.
Спустя 6 часов, 24 минуты, 42 секунды (3.11.2011 - 12:14) alexphp123 написал(а):
Написал наверно ахенея но работает есть вопрос ?
Спасибо всем гуру PHP!!!!!!!!!!
Может есть другуй спопсоб обновлять страницу через n минут.
Спасибо всем гуру PHP!!!!!!!!!!
<meta http-equiv="refresh" content="30;URL=http://192.168.1.1/pings/monitoripserver.php">Значение content="30 максимально сколько может быть ? А ставлю 30 обновляется страница 100 уже нет а нодо значение 1000 .
Может есть другуй спопсоб обновлять страницу через n минут.
Спустя 18 минут, 50 секунд (3.11.2011 - 12:33) killer8080 написал(а):
Цитата (alexphp123 @ 3.11.2011 - 05:50) |
Спасибо все заработала но не у всех открыт порт даже 80 так что надо всетаки ping. |
а кого пингуешь? 80 порт открыт только на серваках. У виндовых юзверей обычно есть 139 порт, если служба доступа к файлам и принтерам микрософта не отключена, или не прикрыта фаирволом.
Цитата (alexphp123 @ 3.11.2011 - 12:14) |
Может есть другуй спопсоб обновлять страницу через n минут |
Конечно есть - JS. Но в таких случаях лучше не обновлять страницу, а подтягивать данные аяксом.
Спустя 1 минута, 46 секунд (3.11.2011 - 12:35) killer8080 написал(а):
Кстати на чем сервак работает, денвер?
Тогда можно было бы заюзать виндовый ping.exe.
Тогда можно было бы заюзать виндовый ping.exe.
exec('ping -n 2 mail.ru', $lines);
$lines = iconv('CP866', 'UTF-8', implode("\r\n", $lines));
echo '<pre style="width:600px; height:250px; padding:10px 20px; '.
'border:3px solid #999; color:#ddd; background-color:#000">'.
$lines.
'</pre>';