ProtoHeartbeatEvent
ProtoHeartbeatEvent
Point 6 in https://help.ctrader.com/open-api/connection/ "To keep your connections alive, keep sending a ProtoHeartbeatEvent in 10 seconds interval."
In " connected() " I added a twisted.task.LoopingCall
hb = task.LoopingCall(ProtoHeartbeatEvent)
hb.start(10.0)
I still only get a ProtoHeartbeatEvent back from the server every 30 seconds though. Is this the correct way to do it?
Hi sansand,
Yes server sends heartbeats every 30 seconds.
Best Regards,
Panagiotis
Hi sansand,
I have no idea what is that about and what it is doing :)
Best Regards,
Panagiotis
RE:
PanagiotisCharalampous said:
Hi sansand,
I have no idea what is that about and what it is doing :)
Best Regards,
Panagiotis
Ok. So what would be the best way to keep the connection alive by sending a ProtoHeartbeatEvent in 10 second intervals?
Forgot to say that I'm using OpenApiPy.
Since I can't find anything in the samples, and there's no confirmation back from the server when I send a ProtoHeartbeatEvent, I don't know if I'm doing it right.
I would greatly appreciate an input from the developers or someone that has a working example, how it's supposed to be done.
Hi sansand,
The server does not send any confirmations for heartbeats. If the connection is not dropped and you keep receiving heartbeats from the server, then it means tou are doing it right.
Best Regards,
Panagiotis
RE:
PanagiotisCharalampous said:
Hi sansand,
The server does not send any confirmations for heartbeats. If the connection is not dropped and you keep receiving heartbeats from the server, then it means tou are doing it right.
Best Regards,
Panagiotis
Since the sample https://github.com/spotware/OpenApiPy/tree/main/samples/ConsoleSample does not send a ProtoHeartbeatEvent, do we really need to do it (server keeps sending a heartbeat every 30 sec)? How long until the server drops the connection, if we don't send a ProtoHeartbeatEvent?
Hi sansand,
Yes, when there is no other interaction with the server, you need to send heatbeats to keep the connection alive. If you stop sending heartbeats, the connection will be dropped after some seconds.
Best Regards,
Panagiotis