0

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

具体来说 , 中的方法有什么区别SessionStateListener(大概代表状态变化),它们应该以什么顺序发生?:

  • 连接
  • 断开连接
  • 登录
  • 注销
  • 重置
  • 刷新
  • onMissedHeartBeat
  • 心跳超时

有什么区别,例如登录和连接?重置与断开连接有何不同?有什么onMissedHeartBeat不同onHeartBeatTimeout?这些是否有特定的顺序发生,例如可以在登录之后但在注销之前发生断开连接?在这种情况下,状态是否会重置为“注销”?

4

1 回答 1

1

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

当您连接时,会在发起者和接受者之间创建一个会话。除非并且直到发生登录,否则没有消息可以流动。登录是接受者对发送者的身份验证。

onMissedHeartBeat 与 onHeartBeatTimeout 不同

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

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

于 2014-03-25T14:09:21.273 回答