2012-02-18 145 views
5

後連接我使用socat命令等我的嵌入式Linux設備上創建一個tty接口:重新連接socat網絡故障

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

的連接是通過DSL線長距離connecstion。這條線每天晚上斷開連接,我的tty接口關閉。是否有可能創建一個機制重新連接,直到服務器端再次聯機的tty interace?

下一個問題:是否可以從java程序調用socat命令?

非常感謝! Karl-Heinz

回答

1

從版本V 1.4.0.0開始,socat具有「重試」,「永久」和「間隔」選項。

所以,這應該給你所期望的行爲:

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

在第一次連接這隻作品。如果連接已關閉,則不會重新連接。 – lethalman 2015-07-22 10:13:45

+0

@lethalman你介意解釋一下你的設置嗎?你在兩端使用'socat'嗎?你是否在兩端設置了「永遠」選項? – FloHimself 2015-07-23 06:48:57

+1

如果第一次連接不成功,'socat - tcp:foo永遠'將嘗試永久重新連接。但是建立連接後,如果端點斷開連接,socat將會退出。 – lethalman 2015-07-23 12:22:31

1

Socat被設計爲當一個連接關閉退出。

解決方法:把一個無限循環在你socat開始

while true 
    do 
     socat addr1 addr2 
     sleep 1 
    done