Qualquer um dos lados, assumindo:
- o sistema operacional está configurado para isso ( linux , windows )
- o aplicativo configurou o soquete com SO_KEEPALIVE via setsockopt () ( linux , windows ).
Se ambos os lados tiverem configurações idênticas de keepalive, você verá que ambos iniciam um keepalive quase ao mesmo tempo.