I\'m using Quickfix/J to receive the message but \"Sent test request TEST\" happen. The log file (FIX.4.2-A-B.event.log)shows that:
23:19:05: Sent test reque
the FIX standard heartbeat behavior is as follows:
1. On Logon, the Initiator requests a heartbeat interval (usual default 30 seconds)
2. From now on every side expects at least one message every 30 seconds (defined heartbeat interval)
3. If there is no application message available, a heartbeat is sent instead
4. If one side does not get neither a heartbeart nor an application message after 30 seconds, a connection issue is suspected.
5. Therefore, a TestRequest is sent ("Are you still there?"): Sent test request TEST
6. This TestRequest is not answered by a Heartbeat with the supplied TestRequestID, the connection is considered dead.
7. Finally, the network connection is dropped: Disconnecting: Timed out waiting for heartbeat
In your third update, your initiator A did respond to the test request with a heartbeat, and supplied the requested id tag 112:
8=FIX.4.2|9=86|35=1|49=B|56=A|43=N|34=2|52=23:00:20.222|112=07:00:20|10=081|
8=FIX.4.2|9=81|35=0|34=2|49=A|52=23:00:07.301|56=B|112=07:00:20|10=091|
So that's good. From then on, A supplies a heartbeat 30 seconds later:
8=FIX.4.2|9=57|35=0|34=3|49=A|52=23:00:38.075|56=B|10=228|
But B does not reply for 13 seconds:
8=FIX.4.2|9=63|35=0|49=B|56=A|43=N|34=26|52=23:00:51.260|10=00
Is there some network issue between A and B? What problem are you experiencing?