像crt或者ssh、甚至是cmd指令中使用window的telnet指令連接配接交換機。都可以起到控制交換機的作用。
telnet說白了就是一個tcp的長連接配接。你向交換機輸入一組指令,其實就是你使用socket連接配接上交換機,把你的指令out出去。
如果你想看你執行的指令,傳回了什麼,你就是用io流直接讀取socket中的長連接配接流中的内容即可。telnet其實就是這麼簡單。
使用java連接配接telnet進行操作的注意
1.telnet有vt100 vt52 vt220 vtnt ansi等協定。
我用vt100。
2.vt100控制碼(ansi控制碼)過濾的問題,可以過濾,也可以在服務設定不要。
不過濾都是一些亂碼。是以\033[***一個字母結尾的格式。
3.中文亂碼的問題。
new string(old.getbytes("iso8859-1"),"gbk")。
4.如何判斷讀取到最後了。
一有readuntil(),二有使用線程。
5.選擇telnet的java包問題,包有很多,比如appache(commons-net-3.0.jar), ganymed(ganymed-ssh2-build210.jar),javaexpect(smart-0.1-snapshot-jar-with-dependencies.jar)
我使用appache。javaexpect有帶的vt100控制碼過濾,我沒有仔細研究。
6.write要flush()才發送。
看代碼吧:
輸出的内容在telnet.txt檔案中,我貼出來給大家看看!
如有疑問,請加qq群:135430763 共同學習!