We currently have a situation where our Java program is establishing a long-running TCP/IP connection to our server and it's working fine (except for one thing in an environment that's outside our control). Every Saturday, that server is rebooted but it's not communicated properly with our client so the connection just keeps waiting for a response and never gets it. We need to be able to reproduce this so we can add a fix. Is there a good way to simulate a router that's silently dropping connections under our control. All suggestions are welcome.