Переподключить соединение socat после сбоя сети - PullRequest
4 голосов
/ 18 февраля 2012

Я использую команду socat для создания интерфейса tty на моем встроенном устройстве linux, например:

socat pty,link=/dev/ttyS9 TCP:10.0.10.1:9999

Соединение является междугородним соединением по линии DSL. Эта линия отключается каждую ночь, и мой интерфейс tty не работает. Можно ли создать взаимодействие tty с механизмом переподключения до тех пор, пока серверная часть снова не будет подключена?

Следующий вопрос: можно ли вызвать команду socat из Java-программы?

Спасибо большое! Karl-Heinz

Ответы [ 2 ]

2 голосов
/ 24 апреля 2016

Сокат предназначен для выхода при закрытии одного соединения.

Обходной путь: поместите бесконечный цикл вокруг начала своего соката

  while true
    do 
      socat addr1 addr2
      sleep 1
    done
2 голосов
/ 10 апреля 2014

Начиная с версии V 1.4.0.0, socat имеет опции «повторить», «навсегда» и «интервал».

Итак, это должно дать вам желаемое поведение:

socat pty,link=/dev/ttyS9 tcp:10.0.10.1:9999,forever,interval=10,fork
...