quickfix / j连接状态机

时间:2014-03-25 10:53:49

标签: java quickfix quickfixj

有人可以将Quickfix / J连接解释为有限状态机(理想情况下是图表)吗?

具体来说,SessionStateListener中的方法之间有什么区别,(可能代表状态变化),它们应该出现在哪个顺序? :

  • 的onConnect
  • onDisconnect
  • ONLOGON
  • onLogout
  • onReset
  • onRefresh
  • onMissedHeartBeat
  • onHeartBeatTimeout

有什么区别,例如登录和连接?如何重置不同于断开连接? onMissedHeartBeatonHeartBeatTimeout的区别如何?这些是否发生在例如登录后但在注销之前会发生断开连接吗?在这种情况下,状态是否会重置为“已注销”?

1 个答案:

答案 0 :(得分:1)

  

区别的是什么,例如登录和连接?

连接时,会在启动器和接受器之间创建会话。除非登录发生,否则不会有任何消息流动。登录是接受者对发件人的身份验证。

  

onMissedHeartBeat与onHeartBeatTimeout

不同

配置文件中有HeartBtInt,其中提到了发起者等待听力的时间。如果没有收到信号,则表示连接不稳定。如果我没记错的话(我可能错了)Quickfix / J断开连接,你需要重新登录。 onMissedHeartBeat表示您尚未收到心跳但可能在超时期限内,但也超过了超时期限。

即使您已登录或即将注销,也可能随时发生断开连接。网络中断,服务器崩溃,发生地震,电源中断。当发生断开连接时,会话终止,您必须再次开始整个过程​​。