ИМО, пытаясь обойти плохое оборудование, - это путь в никуда, потому что каждый маршрутизатор выходит из строя по-своему замечательным образом :).
То, что вы можете сделать в приложении, интенсивно работающем с сетью, - это предположить, что сеть не является стабильным носителем (могут произойти сбой маршрутизаторов и т. Д.), И соответствующим образом спроектировать сетевые операции приложения.Например, предоставьте логику переподключения, тайм-ауты соединения, своего рода кэширование состояний, чтобы пользователи могли работать с приложением, даже если сетевое соединение пропало.
В отношении неисправных маршрутизаторов - они обычно дают сбой из-за большого количества одновременных соединений (напримерзагрузка через bittorrent или другой протокол p2p).Таким образом, поддержание минимального количества соединений может помочь.