I suffer from network connections which often break: mainly, the “eduroam” wireless goes down for a few seconds. This breaks all my tcp connections.
However, most of my connections are tunneled through ssh (with putty on one side, and a linux server on the other). I see no reason why the connections should break when the network is interrupted: ssh client and server could just leave the local ports open, wait until the network is repaired and the ssh connection re-established, and then continue as before. This could be done completely transparent to all applications, which allow for sufficiently long timeouts. Should be almost trivial to implement.
For sure, it would be reasonable to clean up connections which are not re-established after a few weeks.
Please, developers, implement these unbreakable tunnels!