批量检查TCP端口主机

时间:2011-05-19 06:25:50

标签: php tcp

我在网站上工作,比如game-monitor.com,但是对于小型独立游戏

我需要轮询大量的tcp端口(只是简单的“检查端口是否打开然后断开连接”),我该怎么做?这是什么最佳做法?

我在每个pageload上尝试使用@fsockopen for live,它只是让页面占用$ timeout * numberofhosts来加载。

我该怎么做?我有一个已经命名为online(1/0)的数据库col - 我应该运行cron来更新吗?如果没有人访问页面会怎么样?我应该做一些像嵌入“cron.php”作为图像并在最后x分钟没有运行的情况下运行吗?

2 个答案:

答案 0 :(得分:2)

不要使用PHP,而是使用某种支持线程的语言(例如Python),并使用(真正的)cronjob不时运行它。然后产生一堆线程给你可以并行检查。

答案 1 :(得分:0)

如果您只能访问PHP脚本,请执行主机检查cron作业。只需一次选择一些主机即可使脚本更快,并多次运行它。

如果很长一段时间没有访客,你可以停止投票,但我真的不明白为什么你应该这样做。检查开放端口并不昂贵(在您自己的服务器上;如果您在共享主机上,我认为您的托管服务提供商不会喜欢它。)