JSch в Java - Как проверить, если SSH соединение или туннель не работает? - PullRequest
0 голосов
/ 26 апреля 2018

Я пишу приложение на Java, которое обращается к SSH-серверу и отправляет данные через SSH-туннель.

Идея состоит в том, чтобы установить туннель при запуске и использовать этот туннель по отдельным запросам таким образом, чтобы новыйсоединение не создается при каждом запросе на обслуживание.

Итак, при запуске одна часть приложения устанавливает SSH-соединение, а затем создает Tunnel, используя session.setPortForwardingL ().При каждом запросе другая часть приложения просто связывается с локальным портом, даже не заботясь о SSH Tunnel.Работа туннеля заключается в транспортировке данных, записанных на локальном порту (источник туннеля), в пункт назначения туннеля.

При таком подходе необходимо постоянно поддерживать работу туннеля SSH (когда соединение установлено).возможно).

Я изо всех сил пытаюсь найти решение для защиты от сбоев, чтобы сохранить туннель живым.- Метод session.isConnected () не возвращает false, даже если соединение с сервером потеряно.- Будет ли отправка сообщения о сохранении активности непосредственно перед проверкой состояния соединения, установленной для isConnected в false?- Кто-нибудь реализовал такую ​​логику?

Я также открыт для любых предложений вне JSch, так как я все еще на этапе проектирования.

...