请教如何在时序图标识应答超时交互

103 天前
 barfi1316

大概的流程如上图,请求从 APP 到平台,再到设备,都是同步阻塞操作,由于 4G 网络环境或整车状态,平台没有及时收到应答,同时平台设置 10 秒的超时时间,请问大家在时序图里如何把超时这个交互表现出来?

谢谢!

942 次点击
所在节点    程序员
7 条回复
ashuai
102 天前
用 mqtt 就是异步。
小程序 2 条异步线程,一个管发,一个管收。
TBox 收到指令,同步执行,然后应答
kuituosi
102 天前
超时就是本地异步检查
比如 4 超时没有返回,那么就是 2 的位置一个虚线半弧线指向自己
barfi1316
102 天前
@ashuai 虽然平台是通过 mqtt 异步发送报文给设备,但是平台也是起了线程监听设备的应答报文,收设备应答报文后,再返回 http 应答给 APP 。但是平台线程监听设备应答的有超时时间,这个超时如何体现在交互呢?
barfi1316
102 天前
@kuituosi 的确是平台起了线程监听设备的应答,但是不太理解你说的“虚线半弧线指向自己”是怎么画?有劳批个图学习下,THX
ashuai
101 天前
@barfi1316 #3 TBox 可能在第 9 秒收到指令,执行了 2 秒,在第 11 秒 reply ,然后发现你平台不理他了,这个时候你让他 rollback 吗?
[![]( https://mermaid.ink/img/pako:eNpVkb9OwzAQxl_F8tyG3UMHxFokREYvh31prcZ_sM9So6pPwJDXYKzEBO8T8Ro4CUHEk_37vu_Ourtw5TVywRO-ZnQKHwwcIljpAkQyygRwxIBBYsOt_35_G776tRYm7fNj6G93-6e6XqtqVOt7f5YOtrtdEAmdZsrqYitvJZwn03QzUdsJ4RnVAsZIxNB2LGLKLc0xWGIL9IFYykphStKxckozEEx7h9KVjrODjEWf6b8j-rZ9AXX6Y8sX18KjJ2TRHI7EfMNAVFX1W5dvuMVowegyxMvolpyOaFFyUa4a4kly6a7FB5n8c-cUFxQzbngOGmgZOBcNtKlQ1IZ83M9bmZZz_QEUu5cp?type=png)]
barfi1316
101 天前
@ashuai #5 参考你的图,在第 4 步加一个 opt[timeout] 就可以表达出来了,另外 mermaid 画出来的图挺不错的,马上学习下,谢谢你!
yusheng88
99 天前
时序图,应该用于体现业务执行顺序,感觉代码细节的分支和异常处理,没必要画

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1012149

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX