2012-02-18 1 views
5

후 연결 socat 내가 좋아하는 내 임베디드 리눅스 디바이스에 TTY 인터페이스를 만들기 위해 socat 명령을 사용하고 있습니다 :은 다시 연결하고 네트워크 장애

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

연결하는 것은 DSL 라인을 통해 장거리 connecstion입니다. 이 줄은 매일 밤 끊어지며 내 tty 인터페이스는 다운됩니다. 서버 측이 다시 온라인 상태가 될 때까지 다시 연결하는 메커니즘으로 tty 인터레이스를 만들 수 있습니까?

다음 질문 : java programm에서 socat 명령을 호출 할 수 있습니까?

고맙습니다. Karl-Heinz

답변

1

버전 1.4.0.0부터 socat에는 "retry", "forever"및 "interval"옵션이 있습니다.

그래서, 이것은 당신에게 원하는 동작을 제공한다 :

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

이 비로소 작동을 시작하여 socat 주위에 무한 루프를 넣어. 연결이 닫히면 다시 연결되지 않습니다. – lethalman

+0

@ lethalman 설치 방법을 설명해 주시겠습니까? 양쪽에 'socat'을 사용합니까? 양 끝에 '영원히'옵션을 설정 했습니까? – FloHimself

+1

'socat-tcp : foo, forever'는 첫 번째 연결이 성공적이지 않은 경우 영원히 다시 연결을 시도합니다. 그러나 연결이 설정된 후에는 끝 점이 연결 해제되면 socat가 종료됩니다. – lethalman

1

Socat가 하나의 연결을 닫을 때 종료하도록 설계되었습니다.

해결 방법 : 첫 번째 연결에

while true 
    do 
     socat addr1 addr2 
     sleep 1 
    done