It seems to me that the 'proper' way to handle this would be to do what a lot of protocols do, and have a periodic 'continue session' message, ending the session when nothing is received after a certain amount of time...?