The server relies on Socket.IO’s built-in heartbeat — there is no application-level ping/pong to implement yourself. The server pings every connected client every 10 seconds. If a client does not respond within 30 seconds of a ping, Socket.IO considers the connection dead and closes it server-side.
Any standard Socket.IO client handles this automatically — you do not need to send pings or respond to them manually. If you’re implementing a client from scratch without a Socket.IO library, you must speak the Engine.IO ping/pong protocol on this schedule or the server will disconnect you.
On disconnect, re-subscribe to any channels you were listening to — subscription state is per-connection and is not restored automatically on reconnect.