купить рекламу
 
SkilleR.Ru - GunGame Old School

SkilleR.Ru:27017

карта:
игроков: 0 из 0

SkilleR.Ru - Public Old School

SkilleR.Ru:27015

карта:
игроков: 0 из 0

Мы+Яндекс=мониторинг любого сервера
Ya

Единственный в своём роде виджет

Добавить на Yandex.ru

Лента комментариев
Обсуждаем обзор Интерес игроков к серверам. Статистика за Декабрь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Ноябрь 2020 года < Admin в общих темах
TheAbyss 1.6 39 Jump Bhop < csTheAbyss в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Сентябрь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Август 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Июль 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Июнь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Май 2020 года < Admin в общих темах
Flash Point < spec в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Март 2020 года < Admin в общих темах
GunGame ИРКУТСК ВЛАСТЬ НАРОДУ < virys336855 в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Январь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Декабрь 2019 года < Admin в общих темах
Morozilka 7plus css34 < FantOzer в обсуждениях серверов
Набор в клан css v.34 ProRedDevils < saha123 в кланах

"Ping to Server" или как узнать через PHP, что сервер включен?

Автор Сообщение
Sinator
Карма: 0
Добавлено: 22:16 7 мая 2008
Привет.

Меня мучает уже неделю такой вопрос... как через ПХП просканить сервер в офф или онлайн....

Просто была такая мысль... что бы через сайт можно было ребутать зависнувший сервер. Как ребутать я придумал... а вот как узнать всети он или нет... =\ это уже загвоздка...

Кто знает... поделитесь плиз =)

Были идеи как вот эта :


$fp = fsockopen(\"csp.ty-ta.ru\", 27015);

if (!$fp)
{
echo \"off\";
}
else
{
echo \"on\";
}

fclose ($fp);

?>



Но этот скрипт не сканит 27015 =\\\ а 80 порт сканит на УРА! ... :weep:
Admin
Карма: 9
Добавлено: 08:21 8 мая 2008
он сканит 80 потому что по умолчанию сокет открывается по tcp протоколу
замени 1 строчку на $fp = fsockopen("udp://csp.ty-ta.ru", 27015,1);
Sinator
Карма: 0
Добавлено: 19:43 10 мая 2008

<?php
$port = "27016";

$fp = fsockopen("udp://csp.ty-ta.ru", $port, $err);

if (!$fp)
{
echo $port ." off - ". $err;

}
else
{
echo $port ." on - ". $err;
}

fclose ($fp);

?>


Пишет всегда ON (

А цифра "1" в твоём ответе... недеопустима вообзе =) Так как он кидает в эту переменную Ошибку... а име переменной не задана + если и поставить "$" то переменная не может начинаться с цифр =)
Admin
Карма: 9
Добавлено: 20:01 10 мая 2008
1 имелось в виду timeout -)
какая ОСь?
Sinator
Карма: 0
Добавлено: 21:57 10 мая 2008
Винда ХП и 2003.

При использовании "1" ... вылитала Фатал еррор... просмотрев синтаксис функции я написал вышее описанное =)
Admin
Карма: 9
Добавлено: 22:22 10 мая 2008
Ты открываешь сокет к рабочей машине и в винде по умолчанию все порты открыты, поэтому возвращается ON
Попробуй прочитать что-то из сокета. Если серв умер, то и данных там не будет.
Сделай типа

function MDE($ip, $port) {

$fp = @fsockopen("udp://$ip", $port, $errno, $errstr, 1);

if (!$fp) return FALSE;

$challenge = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";

fwrite($fp, $challenge);

$buffer = fread($fp, 4096);

if (!$buffer) { fclose($fp); return FALSE; }

return true;
}


Я не проверял написаонное, но должно работать.
Sinator
Карма: 0
Добавлено: 18:50 11 мая 2008
Спасибо большое =)
smilies 
Карма: 0
Добавлено: 18:24 20 февраля 2009
а если поставить ещё картинки ) например on зелёный кружок , off крассный , то как будет код писатся ) =)
Admin
Карма: 9
Добавлено: 18:59 20 февраля 2009
$result = MDE($ip, $port) ? '&lt;img src=&quot;green.gif&quot;&gt;' : '&lt;img src=&quot;red.gif&quot;&gt;';
qwerty12q 
Карма: 0
Добавлено: 01:29 3 января 2010
спс, надо запомнить.
Coherenz 
Карма: 0
Добавлено: 06:02 14 апреля 2010
Хм, таким же методом можно и фиксировать средний пинг до сервера. Опрашиваем сервер каждые Н-секунд/минут, отправляем пакета, дожидаемся ответа, установим лимит в 1000 мс предположим, если в течение данного периода ответа не дождались, значит сервер отключён, в случае успешного ответа, сохраняем полученный результат в БД, затем по крону раз в сутки выводим средний результат.

П.С. Извините за пост, просто наткнулся, что-то мысль в голове прошла, решил записать.
Admin
Карма: 9
Добавлено: 09:41 14 апреля 2010
в общем, все верно. Если добавить еще 5 параметров, получим метод, по которому считает пинг наш робот Улыбка
Наверх | Страница 1 из 1  
Моды
  Public 22
  DeathMatch 8
  Classic 7
  RolePlay 4
  GunGame 3

все моды

Популярные Карты
cp_orange_x3 1
mp_military_1 1
q3dm17 1
de_dust2_2x2 1
q3dm3 1
de_dust2_unlimited 1
ospctf1 1
13dream 1
Серверы по регионам
  Москва 969
  Санкт-Петербург 133
  Екатеринбург 40
  Новосибирск 23
  Киев 22

все регионы

Рейтинг сайтов
Админский пьедестал
  taulalan 1|51
  Djei-spb 1|49
  Dinamic 1|48
я2
я2