2014-03-25 64 views
0

有人可以将Quickfix/J连接性解释为一个有限状态机(理想情况下是w/a图)吗?quickfix/j连接状态机

具体说明SessionStateListener中的方法(可能代表状态变化)和它们出现的顺序有什么区别? :

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

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

回答

1

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

当您连接时,会在启动器和接受器之间创建会话。除非登录发生,否则不会有消息流动。登录是接受者对发送者的认证。

onMissedHeartBeat从onHeartBeatTimeout

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

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

+0

会话意外断开后,您需要重置序号,以避免事务丢失 – rupweb