天天看点

java使用telnet连接交换机并管理交换机

像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文件中,我贴出来给大家看看!

java使用telnet连接交换机并管理交换机
java使用telnet连接交换机并管理交换机

如有疑问,请加qq群:135430763 共同学习!