I am using FIX4.3 and QuickFIX/n v1.0.0 for its implementation.
I came across a situation where i had subscribed for Market Data and was successfully receiving Snapshot message then suddenly all communication with the Market Session stopped and i didn't receive any more snapshot from the server on the Market Data Session.
When i asked the support they said that they didn't receive any heartbeat from my end so they closed the connection.
When i look at my FIX log files i see that time between my last heartbeat and the last snapshot from the server is under 60 seconds. And i didn't receive any logout message from the server either.
Also during all this time my Order Session stayed connected with proper heartbeat message.
My Questions are:
What might have caused the system to not send out a Heartbeat message?
Is it normal for the server to close connection on missing 1 heartbeat message? My understanding was that in case there is no heartbeat from the client, server will send a test request.
Using QuickFIX/n how can i ensure my periodic heartbeat message?
Whats the best time interval for heartbeat? (Mine is currently set to 60 seconds)