When TCP connections are idle, no data is sent through them, so there is no way to detect if it's no longer possible to send data through them without actually trying it. So, this is what you need to do. Try calling pwd periodically. This will throw an IOException if the connection has been closed. Is that what you tried? It should work. If it doesn't then please post your code.
And yes, the pro version has a keep-alive feature which will send a command periodically and trigger a Closed event if the connection fails.
- Hans (EnterpriseDT)