I always thought it's the responsibility of the client to send a ping message to make sure server is available or handle disconnection in a proper way.
But lately I read an article where the initiator of ping messages is server side. So, server sends ping and client should respond with pong if it can.
What's the more general universal approach and why?