У меня есть ситуация, когда программа Java устанавливает длительное соединение TCP/IP с сервером, и указанное соединение функционирует точно так же, как задокументировано, за исключением одной вещи в среде вне моего контроля.
Каждую субботу сервер перезагружается, но по какой-то причине он не передается должным образом моему клиенту, поэтому соединение просто зависает, ожидая ответа навсегда. Это то же самое поведение, что и при устаревших соединениях JDBC, когда какой-то маршрутизатор между сервером и клиентом обнаружил, что соединение простаивает, и опустил его без уведомления.
Мне нужно воспроизвести этот сценарий, чтобы создать правильное исправление.
Следовательно, мне нужно знать, есть ли хороший способ имитировать маршрутизатор, который тихо меняет соединения под моим контролем?
Я могу поставить Linux или Mac между моей средой разработки и сервером. Я могу запустить JVM на виртуальной машине (vmware player), если я могу сделать это.
Предложения приветствуются.
EDIT 2012-12-18: решение, которое сработало для меня, состояло в том, чтобы использовать локальный SOCKS5-прокси на Java, который можно было бы приостановить с помощью Ctrl-Z по желанию, и сообщить моему приложению, чтобы он прошел через него.