我正在制作一个由php脚本控制的服务器,我有客户端(androidphones)调用这些脚本来控制服务器。我正在将PHP收到的ip保存到数据库中。
现在我正在寻找一种方法来检查这些ip是否仍然可以访问..
这是我到目前为止所尝试的:
Cron职位 - >我正在使用usbwebserver进行开发,因此我无法使用cmd中的php
从php脚本向ip发出ping请求:如果可用,它将返回“fast”,但如果失败,我将获得最大的执行错误。这种工作方式让我得到了我想要的结果,但没有线程化的可能性,这个解决方案不会按照我的意愿及时执行。这种方法有效吗?
我正在考虑的事情: -
有什么建议吗?
答案 0 :(得分:1)
我会对客户端进行ping操作,看看它是否仍处于活动状态。
尝试使用套接字ping客户端。看看这里:http://www.php.net/manual/en/function.socket-create.php#101012
答案 1 :(得分:0)
这不起作用,因为您始终必须让客户响应。我建议使用客户端(例如,在html中使用javascript)从客户端脚本到服务器每分钟建立连接(ping),并在cronjobs中让脚本每隔x分钟运行一次以更新没有的客户端在x内。
答案 2 :(得分:0)
这种检查绝对没有意义 你将始终拥有这些IP 仅仅因为Android客户端很少有真正的IP但通过某些路由器/代理使用Net。
网络是单向的。 要实现心跳功能,您必须让您的Android客户端ping服务器。