gatewayworker能实现同步多次问答吗?

赴亲小四

做智能家居,大概意思就是
web下发指令给gateway,gateway将指令分析后下发给指定设备(这一步完成)
设备会与gateway进行问答操作,如果每次都从onMessage从头来会丢失很多数据导致失败。比如,gate问设备在线吗?设备说在,这是我两个接口初始状态。gate要先要改变其中一个接口状态发一系列指令完成后续操作成功或失败后切换回初始状态,再去对另外一个接口做相同的操作。设备同时只能只能有一个接口状态被改变。整个流程就卡死在这里。

有没有大佬能指点一下怎么执行这个流程。

left和right同时只能执行一个,如果同时执行left和right第二个必定失败,那么操作就有问题。

2136 1 0
1个回答

赴亲小四

追问!!!
上面的问题已经解决了,用$_SESSION模拟了一个“状态机”,能实现这个流程
但是,有些指令设备收到出错后不一定有返回,没有返回就触发不到“状态机”,没法进行下一步。
所以$_SESSION有没有一个超时机制,如果这个状态机一直没有触发就清空。

  • 赴亲小四 2020-04-01

    结贴,用定时器可以实现超时和重试机制

年代过于久远,无法发表回答
🔝