Imported from previous forum
Hi,
I’m fairly new to FIX. Currently I have the following problem:
HeartBeat set as 108=30,and assume the reasonable transmission time is 4 seconds.
- Both sides establish session connection successfully,and don’t send any information.
- For some reason, those messages that acceptor send can’t be received by initiator. 30s later,initiator sends a heartbeat,and continue to sends a testrequest in 4s .
my question is that should the initiator send a heartbeat 30s later after send the testrequest,or wait for the heartbeat from acceptor to judge Whether the connection is OK.
From the 4.2 spec on heartbeats… I think it should send the heartbeat while the system I am uesing doesn’t send.
IF the system is correct,what should the initiator do on condition of receiving some messages between 30S and 34s after sending the testrequest? IF so,the connection is OK,But the time to send heartbeat must be over 30s in fact while it should be 30s.
Thanks in advance.
Lswallow
I’m under the impression that you mix the heartbeat sender task and the heatbeat receiver task.
Heartbeat sender:
- if any message is sent, reset the timer;
- if the timer reaches 30 seconds (in your case), send a heartbeat message.
Heartbeat receiver:
- if any message is received, reset the timer;
- if the timer reaches 34 seconds (in your case), send a test request and reinitiate the timer;
- if the timer reaches 34 seconds (in your case) and the timer has not been reset since the last sent test request, disconnect.
Regards,
Xavier.
Hi,
I’m fairly new to FIX. Currently I have the following problem:
HeartBeat set as 108=30,and assume the reasonable transmission time is 4 seconds.
- Both sides establish session connection successfully,and don’t send any information.
- For some reason, those messages that acceptor send can’t be received by initiator. 30s later,initiator sends a heartbeat,and continue to sends a testrequest in 4s .
my question is that should the initiator send a heartbeat 30s later after send the testrequest,or wait for the heartbeat from acceptor to judge Whether the connection is OK.
From the 4.2 spec on heartbeats… I think it should send the heartbeat while the system I am uesing doesn’t send.
IF the system is correct,what should the initiator do on condition of receiving some messages between 30S and 34s after sending the testrequest? IF so,the connection is OK,But the time to send heartbeat must be over 30s in fact while it should be 30s.
Thanks in advance.
Lswallow
Thanks for your interpretation and sorry to reply after a long time.
And I agree with what you have say.
I’m under the impression that you mix the heartbeat sender task and the heatbeat receiver task.
Heartbeat sender:
- if any message is sent, reset the timer;
- if the timer reaches 30 seconds (in your case), send a heartbeat message.
Heartbeat receiver:
- if any message is received, reset the timer;
- if the timer reaches 34 seconds (in your case), send a test request and reinitiate the timer;
- if the timer reaches 34 seconds (in your case) and the timer has not been reset since the last sent test request, disconnect.
Regards,
Xavier.Hi,
I’m fairly new to FIX. Currently I have the following problem:
HeartBeat set as 108=30,and assume the reasonable transmission time is 4 seconds.
- Both sides establish session connection successfully,and don’t send any information.
- For some reason, those messages that acceptor send can’t be received by initiator. 30s later,initiator sends a heartbeat,and continue to sends a testrequest in 4s .
my question is that should the initiator send a heartbeat 30s later after send the testrequest,or wait for the heartbeat from acceptor to judge Whether the connection is OK.
From the 4.2 spec on heartbeats… I think it should send the heartbeat while the system I am uesing doesn’t send.
IF the system is correct,what should the initiator do on condition of receiving some messages between 30S and 34s after sending the testrequest? IF so,the connection is OK,But the time to send heartbeat must be over 30s in fact while it should be 30s.
Thanks in advance.
Lswallow