Streaming API's questions

Just a few queries about the streaming API’s.

  1. I have noticed that when idle for 30 seconds, the endpoint(s) send a seemingly empty packet (ping). Does my client need to respond to this and if so, in what format, or is it sufficient that I simply consume (thus move the stream) the packet to keep the stream alive?
  2. Maybe related to the above is that the stream(s) disconnects after / close to 24hrs - this, as far as I can tell, is not documented. Would responding to the idle ping keep the stream alive indefinitely and if so, how is the received ping decoded and how is the response ping encoded?
  3. Finally, is there any specific text string / json encoded object sent before the 24 hour disconnection? This would be helpful in distinguishing (on the client side) which disconnections are local network related from CH initiated disconnection(s).

OK, point 1 is clear from the documentation - it’s a heartbeat

Keeping a connection alive

HTTP connections will typically be timed out and disconnected by clients if there is no data transfer for a while. To avoid this and keep a connection alive when there is no new data to stream, the streaming API periodically sends an empty record as a heartbeat. These take the form of a blank line within the streamed feed, and must be ignored by client applications.

No mention of the 24 hourly disconnection though, and this is still happening. Thoughts?