Maison > Article > développement back-end > mysql - PHP 实现机器在线与否。
有机器,PHP做后台,机器开机的时候会访问服务器,此时将状态置为『上线』,但是下线因为好多机器都是直接断电,所以不会访问后台,这样的话怎么去修改机器的状态呢?
有机器,PHP做后台,机器开机的时候会访问服务器,此时将状态置为『上线』,但是下线因为好多机器都是直接断电,所以不会访问后台,这样的话怎么去修改机器的状态呢?
机器在运行的时候,定期给后台发送心跳包,告诉后台我还在线,后台每隔一段时间做一次检查,把没收到心跳包的机器当做下线处理,不知道这样能否满足你的需求
(1)离线检测:在服务端开一个crontab,每隔一段时间对机器列表轮询发ping包,然后把掉线的机器置成下线状态。
(2)实时检测:如果这个后台只是用于展示机器是否还在线的状态,可以在展示机器列表的时候,实时发ping包检测机器是否在线。这种方式只能满足实时展示机器是否在线的需求,并且存在性能问题。
做个定时轮询吧!
可以用socket吧