欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用 Commons Net 2.0,一个简单的JAVA Telnet 客户端实现 .netJavaApacheUnix 

程序员文章站 2024-03-01 20:07:28
...

一个简单的JAVA Telnet 客户端实现

 

commons-net-2.0.jar telnet功能的简单使用,

这个包实现了很多基本的基于Intenet协议,下面是 commons 支持的协议:

  • FTP/FTPS
  • NNTP
  • SMTP
  • POP3
  • Telnet
  • TFTP
  • Finger
  • Whois
  • rexec/rcmd/rlogin
  • Time (rdate) and Daytime
  • Echo
  • Discard
  • NTP/SNTP

下面简单写一个程序做telnet的测试,此程序仅作测试,所以很多写法并不规范。

 

 

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintStream;

 

import org.apache.commons.net.telnet.TelnetClient;

 

public class CommonsTelnetTest {

       private final String ip = ""; // 要telnet的IP地址

       private final String port = "23"; //端口号,默认23

       private final String user = "";//用户名

       private final String pwd = ""; //用户密码

       private final String osTag = "$";// 系统标示符号

       private final TelnetClient tc = new TelnetClient(); //新建一个 TelnetClient对象,此对象是 commons-net-2.0.jar包提供

       private InputStream in; // 输入流,接收返回信息

       private PrintStream out; //像 服务器写入 命令

 

       public void connect() {

              try {

                     tc.connect(ip, Integer.parseInt(port));

                     in = tc.getInputStream();

                     out = new PrintStream(tc.getOutputStream());

              } catch (Exception e) {

                     System.out.println("connect error !");

              }

       }

 

       public String execute(String command) {

              connect();

              out.println(command);

              out.flush();

 

              StringBuffer sb = new StringBuffer();

 

              try {

                     char ch = (char) in.read();

                     while (true) {

                            sb.append(ch);

                            if (ch == osTag.charAt(osTag.length() - 1)) {

                                   if (sb.toString().endsWith(osTag))

                                          return sb.toString();

                            }

                            ch = (char) in.read();

                     }

 

              } catch (IOException e) {

                     e.printStackTrace();

              }

              return "error! when the program execute";

       }

       

       public static void main(String [] args){

              System.out.println(new CommonsTelnetTest().execute("ls"));

       }

 

}

 

 

这是 commons 2.0 API的地址 :http://commons.apache.org/net/apidocs/index.html

 

上一篇: 怎样才能使大网站规范

下一篇: