Нужны идеи реализации.
Заранее благодарен
Спустя 22 минуты, 21 секунда (30.07.2011 - 16:17) jetistyum написал(а):
ну а какие еще могут быть идеи. не по звездам же определять состояние.
раз в 5 минут (10, 20) опрашивать сервера и сохранять их состояние в поле бд, дальше фильтровать
раз в 5 минут (10, 20) опрашивать сервера и сохранять их состояние в поле бд, дальше фильтровать
Спустя 6 минут, 1 секунда (30.07.2011 - 16:23) Agahnim написал(а):
То есть без крона и прочей шелухи тут не обойтись?
Просто если серверов будет около 1 000 я представляю как это будет грузить сервер, на нем и так нагрузка приличная.
Просто если серверов будет около 1 000 я представляю как это будет грузить сервер, на нем и так нагрузка приличная.
Спустя 7 минут (30.07.2011 - 16:30) jetistyum написал(а):
Да не сильно это будет грузить сервер, отправить пинг на 1000 серверов разве это нагрузка? Просто естественно это неудобно делать в момент просмотра страницы, и лучше делать это заранее. запсукаешь раз в минуту по крону скрипт который проверяет 100 серверов, и у тебя будет относительно свежее состояние для серверов.
Спустя 15 минут, 25 секунд (30.07.2011 - 16:45) Agahnim написал(а):
Хорошо, на словах все просто.
Осталось только понять, как это сделать на коде.
если только fetch_rows а потом fpsocket....
У меня правильный ход мыслей?
Осталось только понять, как это сделать на коде.
если только fetch_rows а потом fpsocket....
У меня правильный ход мыслей?
Спустя 48 минут, 20 секунд (30.07.2011 - 17:33) jetistyum написал(а):
зависит от того какой у тебя алгоритм опроса серверов, и на что ты их проверяешь. можно пингами через exec(), можно полностью организовать алгоритм пинга средствами php, есть готовые либы.
если на сервере должен работать веб-сервер можно пытаться дернуть какую-то страницу с этого сервера - таким образом ты будешь знать что сервер не только пингуется, но и все на нем хорошо работает.
если игровой сервер, возможно есть какой-то клиент (или алгоритм) который позволяет проверить рабочесть сервера и доступность к подключению ...
Ну и по звездам конечно
если на сервере должен работать веб-сервер можно пытаться дернуть какую-то страницу с этого сервера - таким образом ты будешь знать что сервер не только пингуется, но и все на нем хорошо работает.
если игровой сервер, возможно есть какой-то клиент (или алгоритм) который позволяет проверить рабочесть сервера и доступность к подключению ...
Ну и по звездам конечно
Спустя 12 минут, 9 секунд (30.07.2011 - 17:45) Agahnim написал(а):
Сервер игровой. Я просто пингую на порт и все.
Загадка для меня - сделать так чтобы единичка в столбец online записалась не во все сервера а только в те самые online.
Загадка для меня - сделать так чтобы единичка в столбец online записалась не во все сервера а только в те самые online.
Спустя 11 минут, 5 секунд (30.07.2011 - 17:57) jetistyum написал(а):
На какой порт ты собираешься пинговать?
Спустя 4 минуты, 52 секунды (30.07.2011 - 18:01) Agahnim написал(а):
Пользователь указывает сам.
Спустя 4 минуты, 6 секунд (30.07.2011 - 18:05) jetistyum написал(а):
вопрос с подвохом на порт пинговать нельзя. В общем ты хочешь сделать то, что не знаешь как работает. иди учи
Спустя 7 минут, 50 секунд (30.07.2011 - 18:13) Agahnim написал(а):
Я знаю как это работает - у меня есть работающий скрипт для пинга.
То что я выразился не правильно - я не виноват.
Пруф:
Тоже самое можно приладить и к скрипту. Например:
То что я выразился не правильно - я не виноват.
Пруф:
$status = GetServerStatus($_GET['ip'],$_GET['port']); //ИП
function GetServerStatus($site, $port) {
// Тут стили для картинок.
$fp = @fsockopen($site, $port, $errno, $errstr, 2);
if (!$fp) { //Оффлайн
$imagepath = $styleimg1;
$image=imagecreatefrompng($imagepath);
header('Content-Type: image/png');
imagepng($image);
} else { //Онлайн
$imagepath = $styleimg2;
$image=imagecreatefrompng($imagepath);
header('Content-Type: image/png');
imagepng($image);
}
}
Тоже самое можно приладить и к скрипту. Например:
$fp = @fsockopen($row[0], $row[1], $errno, $errstr, 2);
if (!$fp) { //Оффлайн
} else { //Онлайн
}
Спустя 57 минут, 56 секунд (30.07.2011 - 19:11) Agahnim написал(а):
Сделал все сам. Тема неактуальна.