Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Время закрытого порта
Форумы портала PHP.SU » PHP » Программирование на PHP » Время закрытого порта

Страниц (1): [1]
 

1. Платинум - 09 Апреля, 2010 - 13:13:10 - перейти к сообщению
Здравствуйте, возможно ли как то подсчитать сколько времени порт закрыт ?
Это надо для статистики на сайте.
2. Informator - 09 Апреля, 2010 - 14:50:45 - перейти к сообщению
Трудно будет.....
ну если сделать скрипт и он будет каждую секунду обновляться - то да
3. JustUserR - 09 Апреля, 2010 - 15:00:40 - перейти к сообщению
Платинум пишет:
Здравствуйте, возможно ли как то подсчитать сколько времени порт закрыт ?
А какой порт локальный или удаленный - и по какому протоколу? Если TCP то придется делать ваш PHP-скрипт в виде deamon-а который будет либо обращаться к порту либо локально проверять netstat -l к примеру Если же порт UPD то можно проверить только если он закрыт когда придет сообщение об ошбке по ICMP
4. Платинум - 09 Апреля, 2010 - 15:34:02 - перейти к сообщению
Все, что знаю:
Порт: 7777 (игровой)
На удаленном сервере.
5. JustUserR - 09 Апреля, 2010 - 17:05:52 - перейти к сообщению
Платинум пишет:
Все, что знаю: Порт: 7777 (игровой) На удаленном сервере.
То что порт игровой это не совсем хорошо - потому что многие сетевые игры используют обмен датаграммами по протоколу UDP - это делается чтобы слать информацию в режиме реального времени и чтобы пара застрявших пакетов (Котрые на данный момент уже и не нужны Улыбка не затормозило всю остальную передачу
Единственный способ проверять открытость UDP - это проверять отсутствие сообщений об ошбике по ICMP при уверенности что ваша датаграмма дошела до адресата К примеру заставить прислать удаленный сервер вам UDP-датаграмму обратно просто не получится - потому что вам по сути придется эмулировать игровой клиент - тут не получится простоей соединения как по TCP
6. Платинум - 09 Апреля, 2010 - 17:30:21 - перейти к сообщению
Тоесть как я понял с помошью php - это не сделать ?
Если же это не так, то можете подсказать как начать писать скрипт ?
7. Informator - 09 Апреля, 2010 - 17:53:01 - перейти к сообщению
а что за игровой сервер ? (какой игры)
8. JustUserR - 09 Апреля, 2010 - 19:28:55 - перейти к сообщению
Платинум пишет:
Тоесть как я понял с помошью php - это не сделать ?
Обычными средставами работы с sockets это простым методом никак нельзя не сделать - по вышеупомянутой причине особенности протокола UDP Как я уже упоминал есть два способа решение данной проблемы - первый это отправка датаграмм на нужный порт и ожидание ошибки по ICMP и если ошибки не пришло то порт скорее всего открыт - иначе закрыт Второй способ это пытаться эмулировать соединение игрового клиента и ожидать встречную датаграмму - но для этого придется иметь клиент данной сетевой игры и перехватывать соответствующие датаграммы для раскрытия протокола обмена

 

Powered by ExBB FM 1.0 RC1