Preventing disconnects on moderately unstable networks

Hi folks,

I have a very slow paced game with very long matches, and I need the client to patiently wait out network degradation without disconnecting or otherwise interrupting the game. The game could be played via the post and it would work just to emphasize. :)

I've tried the following:
* adjusting the timeouts to 5mins
* using TCP
* reconnecting after a disconnect

However these don't seem to work well in my tests, the timeout I set doesn't get honored, and catching OnDisconnect and reconnecting leaves the game in an undefined state since lots of things catch the disconnect and start cleaning up.

What would be the recommended approach here?
1. Do I just track down all the components catching the OnDisconnect and put a layer in-between them and do a transparent reconnect?
2. Do I need to change the timeout settings server side for this to work? As that I see the server drops the connection quickly.
3. Any other suggestions?

Any help appreciated!

Thanks!