Java quickfix/j连接状态机

Java quickfix/j连接状态机,java,quickfix,quickfixj,Java,Quickfix,Quickfixj,有人能把Quickfix/J连接性解释为一个有限状态机吗(理想情况下是带图的) 具体来说,sessionstateslistener中的方法(可能表示状态更改)之间有什么区别,它们应该以什么顺序出现 连接 断开连接 昂洛贡 旁观者 重新设置 onRefresh 心悸 心脏跳动超时 例如,登录和连接之间有什么区别?复位和断开有什么不同?onMissedHeartBeat与onHeartBeatTimeout有何不同?是否有特定的发生顺序,例如,可以在登录后但在注销前断开连接?在这种情况下,状态

有人能把Quickfix/J连接性解释为一个有限状态机吗(理想情况下是带图的)

具体来说,
sessionstateslistener
中的方法(可能表示状态更改)之间有什么区别,它们应该以什么顺序出现

  • 连接
  • 断开连接
  • 昂洛贡
  • 旁观者
  • 重新设置
  • onRefresh
  • 心悸
  • 心脏跳动超时
例如,登录和连接之间有什么区别?复位和断开有什么不同?
onMissedHeartBeat
onHeartBeatTimeout
有何不同?是否有特定的发生顺序,例如,可以在登录后但在注销前断开连接?在这种情况下,状态是否会重置为“注销”

例如,登录和连接之间有什么区别

连接时,将在发起方和接受方之间创建会话。只有在登录完成后,才能发送任何消息。登录是接受方对发送方的身份验证

onMissedHeartBeat与onHeartBeatTimeout不同

配置文件中有
HeartBtInt
,其中提到了启动器等待hearbeat的时间。如果它没有收到信号,连接就不稳定。如果我没记错(我可能错了),Quickfix/J将断开连接,您需要重新登录
onMissedHeartBeat
表示您尚未收到心跳信号,但可能在超时时间内,但也可能超过超时时间


断开连接可能随时发生,即使您已登录或即将注销。网络中断,服务器崩溃,地震和电力中断。发生断开连接时,会话将终止,您必须重新启动整个过程。

会话意外断开连接后,您需要重置序列号,以便不会丢失任何事务