我有一个机器人,我通过浏览器进行控制。一个页面上的按钮可以前进,反向等等是用一个板载计算机上的PHP编写的。 PHP只是通过串行连接将ASCII字符发送到微控制器。无论如何,我需要实施故障保护,以便当驾驶它的人断开连接时,机器人将停止。我唯一能想到的就是在网页上查找某人,但我相信有一种比这更好的方法。机器人通过ad hoc网络或连接到互联网的常规无线网络连接。很显然,如果我使用ping方法,那么在实际连接时间和实现连接断开之间必须有延迟。无论使用哪种方法,我都希望这种延迟尽可能小。我很感激关于如何做到这一点的任何想法。联网机器人故障安全
0
A
回答
1
我可以建议你使用嵌入在网络浏览器中的简单flash对象来打开套接字连接到机器人上的服务器吗?服务器可以用任何合适的语言编写 - 甚至PHP(咳嗽)。
然后,在连接断开时立即检测并实施您的故障安全方法非常简单。
HTTP不是机器人控制的理想协议。
祝你好运!
2
Ping一个Web客户端有点不可靠,因为你必须考虑到客户端IP可能会改变。
另一方面,您可以通过Ajax模拟“死人按钮”。让网页每隔一段时间发送一个定义的命令(可能每隔5到10秒)。如果机器人一段时间没有收到消息,则可能会停止。 Ajax脚本可以在后台运行,因此控制用户甚至不会注意到任何事情。
这当然意味着你的机器人需要有一个计数器,它每秒增加一次,并在收到信息时复位。当计时器变量太高时,FULL STOP
0
我所能想到的是在您的HTML中包含ajax代码,每隔X秒“ping”您的服务器。我相信这就是Facebook Chat确实知道你是否仍然在线。
HTML 5 Web套接字可能是您正在寻找的解决方案,但您必须考虑到它不会被大多数用户的浏览器实现。
您可能会觉得这篇文章有趣:http://www.infoq.com/news/2008/12/websockets-vs-comet-ajax。
相关问题
- 1. IRC机器人故障
- 2. Akka机器故障
- 3. 脚本IM机器人xmpppy蟒,如何检测网络故障?
- 4. MSBuild.Community.Tasks.Attrib on x64机器故障
- 5. 无人机CI推动ECR故障
- 6. Maven耳朵和故障安全
- 7. 声纳故障安全测试结果
- 8. 故障安全处置异步世界
- 9. Jenkins故障安全html报告
- 10. 故障安全循环槽阵列
- 11. Android相机故障
- 12. Registrering一个机器人出现故障,询问代码参数
- 13. 如何暂停机器人框架中的故障执行?
- 14. 硒电网故障
- 15. 故障快速和故障安全异常处理原则是否不兼容?
- 16. 为什么没有故障安全迭代器抛出ConcurrentModificationException?
- 17. 故障共享DB全球处理器
- 18. 控制机器人通过互联网
- 19. 互联网机器人 - 填写表格
- 20. 手机网站联系人
- 21. BlueMix物联网安全
- 22. ClickOnce安装prereqs故障
- 23. 故障在CUDA 8.0安装
- 24. Ghostscript故障保护机制?
- 25. 动态随机数故障
- 26. 随机分割故障C++
- 27. Linux - 故障排除网页
- 28. andlinux slirp网络故障
- 29. 网站 - 冗余和故障
- 30. MS CRM从对方收到了不安全或错误安全的故障
Facebook使用使用持续http连接的Comet – 2009-12-13 03:03:34