Одна вещь, которую я видел, состояла в том, чтобы сетевой код был написан так, чтобы соединение могло быть разорвано удаленно. Продукт, над которым я когда-то работал, был написан именно так. У нас даже был набор тестов на пытки, которые случайным образом разрывали связи. Продукт должен был быть транзакционным, и было поучительно посмотреть, как он себя вел.
Конечно, мы тогда нашли клиента, чья сеть фактически постоянно разрывала соединения, и были очень рады, что мы так тщательно протестировали.