2014-03-25 117 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