我有我通过浏览器控制机器人。带有按钮的页面前进,后退,等是用PHP编写托管的车载计算机上。 PHP的只是到微控制器的串行连接发送ASCII字符。无论如何,我需要实现故障安全,这样,当驾驶它的人断开连接,机器人将停止。我能想到做的唯一一件事就是ping到网页或某事的人,但我敢肯定有比这更好的方式。机器人或者通过自组织网络或连接到互联网的常规无线网络进行连接。显然,如果我使用ping方法去那么将不得不断开的实际时间之间的延迟,当它意识到它已经断开。我想这种延迟是尽可能小,无论使用的方法。我会很感激如何做到这一点的任何想法。

有帮助吗?

解决方案

我可以建议你使用嵌入在Web浏览器中一个简单的Flash对象打开插座连接以一个服务器上的机器人?服务器可以用任何合适的语言 - 即使PHP(咳嗽)。

然后,它是一个简单的事情,立即检测,当连接出现故障,并实现您的故障安全的方法。

HTTP不是机器人控制一个理想的协议。

祝你好运!

其他提示

ping一台Web客户端是有些不可靠,你必须考虑到,客户端IP可能会改变。

在另一方面,你可以模拟一个“死男人按钮”通过Ajax。让网页发送自定义命令飘飞(也许每隔5到10秒)。如果机器人没有收到消息,一段时间后,它可以停止。 Ajax的脚本可以在后台运行,所以控制用户甚至不会注意到什么。

这当然会意味着,您的机器人需要具有递增每一秒一个计数器并且在接收到消息时重置。此刻定时器变量过高,FULL STOP

所有我能想到的就是在HTML说:“坪”你的服务器的每X秒Ajax代码。我相信这就是Facebook的聊天不知道你是否仍处于联机状态。

HTML 5个网页插座可能是你正在寻找的解决方案,但你必须要考虑,它不会被大多数用户的浏览器来实现。

您可能会发现这个有趣的文章:的http:// www.infoq.com/news/2008/12/websockets-vs-comet-ajax

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top