有一个情景:地面控制中心A向火星车B发一个控制指令,执行一个重要动作(转弯等)。B收到后执行,应答给A,A收到后更新“动作已执行”的状态。
那么就有些问题啊
1.假如通讯不稳定,就是说A收不到B的应答,那么B收到指令后执行了,但是A就不会更新状态。
2.就算采用重发机制,A还是有可能无法收到应答,那么A怎么还是无法知道动作执行了没有。
3.就算B先应答给A确认一下,A再发一次执行指令,那么第二次发的这个指令有可能B没收到,那么A还是显示已执行状态,而B实际没有执行。
4.就算B收到A的第二次指令后再执行,那么B有可能执行出错啊,那其实还是没有执行。
。。。反正这种情况理论上有多种可能。
协议做得再好,也要物理链路传输啊,地球到火星这么远的宇宙空间,谁知道有谁什么东西会干扰这个通讯的,那火星车状态跟地球不一致,那不很容易掉沟?
通讯双方就算不停应答,也总得有一方要先停止这个对话啊。
这中情况如果在一些工业场合,会造成很严重的事故的。不知道是怎么解决的?
讨论讨论啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
卫星:我也是看运气啊,运气不好也会丢。
一周热门 更多>