Have you tried socket.io-based web applications on the train? It does pings and reconnecting.
Here's one hosted Etherpad: https://etherpad.wikimedia.org/
And will be launching a web client in the coming weeks.
So far, so good. We do handle the reconnects ourselves, but otherwise it's been treating us well.