有人可以将Quickfix / J连接解释为有限状态机(理想情况下是图表)吗?
具体来说,SessionStateListener
中的方法之间有什么区别,(可能代表状态变化),它们应该出现在哪个顺序? :
有什么区别,例如登录和连接?如何重置不同于断开连接? onMissedHeartBeat
与onHeartBeatTimeout
的区别如何?这些是否发生在例如登录后但在注销之前会发生断开连接吗?在这种情况下,状态是否会重置为“已注销”?
答案 0 :(得分:1)
区别的是什么,例如登录和连接?
连接时,会在启动器和接受器之间创建会话。除非登录发生,否则不会有任何消息流动。登录是接受者对发件人的身份验证。
onMissedHeartBeat与onHeartBeatTimeout
不同
配置文件中有HeartBtInt
,其中提到了发起者等待听力的时间。如果没有收到信号,则表示连接不稳定。如果我没记错的话(我可能错了)Quickfix / J断开连接,你需要重新登录。 onMissedHeartBeat
表示您尚未收到心跳但可能在超时期限内,但也超过了超时期限。
即使您已登录或即将注销,也可能随时发生断开连接。网络中断,服务器崩溃,发生地震,电源中断。当发生断开连接时,会话终止,您必须再次开始整个过程。