Массовая проверка хоста TCP-порта - PullRequest
0 голосов
/ 19 мая 2011

Я работаю на сайте, что-то вроде game-monitor.com, но для небольшой инди-игры

Мне нужно постоянно опрашивать тонну tcp-портов (просто «проверьте, открыт ли порт, затем отключить»), как мне это сделать? Какова лучшая практика для этого?

Я пробовал @fsockopen на каждой загрузке страницы в режиме реального времени, и он просто заставляет страницу загружать $ timeout * numberofhosts для загрузки.

Как мне это сделать? У меня есть база данных col, уже названная в сети (1/0). Нужно ли запускать cron для обновления? Что происходит, если никто не заходит на страницу? Должен ли я сделать что-то вроде вставки "cron.php" в качестве изображения и запустить его, если он не работал в последние x минут?

Ответы [ 2 ]

2 голосов
/ 19 мая 2011

Не используйте PHP, но какой-то язык, который поддерживает потоки (например, Python) и запускайте его время от времени с (настоящим) cronjob. Затем создайте несколько потоков, чтобы вы могли распараллелить проверку.

0 голосов
/ 19 мая 2011

Если у вас есть доступ только к сценариям PHP, выполните проверку хоста в задании cron.Просто выберите несколько хостов одновременно, чтобы скрипт работал быстрее и запускайте его несколько раз.

Если у вас давно нет посетителей, вы можете прекратить опрос, но я действительно не понимаю, почемудолжен сделать это.Проверка открытых портов не так уж дорога (на вашем собственном сервере; я не думаю, что вашему хостинг-провайдеру понравится, если вы используете общий хостинг).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...