Hello,
I want to learn possible differences and process for two logout case.
1- Client can logout with his own request from current session. In this case client sends logout message(MsgType=5) to exchange and waits a while for answer. After answer is received (again MsgType=5) the session ends. But what to do if client doesn’t get a response after sending the logout request? Should send logout message again ? Or terminate connection ?
2- When middle of the trading session, client can exceed own message quota. So exchange should force client to logout. Should exchange send a logout message and wait for answer ? Or after sended logout message, can terminate session without get response ?
Thanks for help.
Usually one should wait for a sensible timeout (e.g. 2 seconds) before terminating the connection after no Logout response has been received.
The Logout(35=5) initiator should terminate the FIX connection if the peer does not respond within a reasonable time frame. Twice the value specified in the HeartBtInt(108) field of the Logon(35=A) message is recommended.
From https://www.fixtrading.org/standards/fix-session-layer-online/#fix-connection-termination
However, twice the Heartbeat interval sounds very long to me…
1 Like
Thanks for your answer. Twice of HB time is negotiable, i agree with you. Beside it i want to summarize your answer:
It’s not important if client’s request or if exchange force client. After send logout message, wait for response X sec(maybe twice HB), later terminate session. (Next step of this scenario if client sends other messages instead of logout, reject all of them. This solution seems logically)