commons.net.telnet使用示例

 

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

import java.io.IOException;

public class TelnetDemo {

    public static void main(String[] args) throws IOException {
        TelnetClient telnet = new TelnetClient();
        String remoteip = "10.1.1.159";
        int remoteport = 9999;
        telnet.connect(remoteip, remoteport);
        System.out.println(telnet.isAvailable());
        System.out.println(telnet.isConnected());

        IOUtil.readWrite(telnet.getInputStream(), telnet.getOutputStream(),
                System.in, System.out);
        telnet.disconnect();
        System.exit(0);
    }
}

 

import org.apache.commons.net.io.Util;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * This is a utility class providing a reader/writer capability required
 * by the weatherTelnet, rexec, rshell, and rlogin example programs.
 * The only point of the class is to hold the static method readWrite
 * which spawns a reader thread and a writer thread.  The reader thread
 * reads from a local input source (presumably stdin) and writes the
 * data to a remote output destination.  The writer thread reads from
 * a remote input source and writes to a local output destination.
 * The threads terminate when the remote input source closes.
 * *
 */

public final class IOUtil {

    public static final void readWrite(final InputStream remoteInput,
                                       final OutputStream remoteOutput,
                                       final InputStream localInput,
                                       final OutputStream localOutput) {
        Thread reader, writer;

        reader = new Thread() {
            @Override
            public void run() {
                int ch;

                try {
                    while (!interrupted() && (ch = localInput.read()) != -1) {
                        remoteOutput.write(ch);
                        remoteOutput.flush();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        };

        writer = new Thread() {
            @Override
            public void run() {
                try {
                    Util.copyStream(remoteInput, localOutput);
                } catch (IOException e) {
                    e.printStackTrace();
                    System.exit(1);
                }
            }
        };

        writer.setPriority(Thread.currentThread().getPriority() + 1);
        writer.start();
        reader.setDaemon(true);
        reader.start();

        try {
            writer.join();
            reader.interrupt();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}

 

时间: 2024-10-24 19:30:56

commons.net.telnet使用示例的相关文章

php实现telnet功能示例

 这篇文章主要介绍了php实现telnet功能示例,需要的朋友可以参考下 代码如下: <?php class PHPTelnet {     var $show_connect_error=1;       var $use_usleep=0;  // change to 1 for faster execution         // don't change to 1 on Windows servers unless you have PHP 5     var $sleeptime=1

php实现telnet功能示例_php实例

复制代码 代码如下: <?phpclass PHPTelnet {    var $show_connect_error=1;     var $use_usleep=0;  // change to 1 for faster execution        // don't change to 1 on Windows servers unless you have PHP 5    var $sleeptime=125000;    var $loginsleeptime=1000000;

commons io文件操作示例分享_java

复制代码 代码如下: package com.pzq.io;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.StringReader;import java.nio.charset.Charset;import java.util.ArrayList;

java-类库-Apache Commons

   Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍.   组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库

用MINA可以开发telnet客户端程序吗?

问题描述 我下载了Apache的MINA框架,准备开发telnet的客户端程序.但是看了它的示例程序,发现可以telnet到服务器,但是如何都验证不了登录.如果那位大虾有用MINA开发telnet客户端程序,麻烦指点一下publicclassMainClient{publicfinalstaticInetSocketAddressserverAddress=newInetSocketAddress("localhost",23);publicfinalstaticInetSocketA

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

像crt或者ssh.甚至是cmd命令中使用window的telnet命令连接交换机.都可以起到控制交换机的作用. telnet说白了就是一个tcp的长连接.你向交换机输入一组命令,其实就是你使用socket连接上交换机,把你的命令out出去. 如果你想看你执行的命令,返回了什么,你就是用io流直接读取socket中的长连接流中的内容即可.telnet其实就是这么简单. 使用java连接telnet进行操作的注意 1.telnet有VT100 VT52 VT220 VTNT ANSI等协议. 我用

如何在telnet下,实现模拟按键盘向下的方向键

问题描述 用的是org.apache.commons.net.telnet.TelnetClient,想通过发送向下方向键的unicode:'u2193'来实现,但没用:用SecureCRT录制的脚步的实现:#$language="VBScript"#$interface="1.0"crt.Screen.Synchronous=True'Thisautomaticallygeneratedscriptmayneedtobe'editedinordertoworkco

一个关于java telnet的批处理郁闷问题

问题描述 程序功能目标:通过一个已经连接telnet 发送另外一条telnet 命令跳转到跳转到另外一个主机.(第一个支持telnet命令)代码如下: package tmh.tvs.util.net.telnet;import org.apache.commons.net.telnet.*;import java.io.*;import java.net.SocketException;import java.util.StringTokenizer;public class TmhTelne

Jakarta-Common-Math使用笔记

apache的math组件,尽管不常用,我今天也整理出来. 下载地址: http://commons.apache.org/math/ 示例代码: package demo; import org.apache.commons.math.stat.descriptive.moment.GeometricMean; import org.apache.commons.math.stat.descriptive.moment.Kurtosis; import org.apache.commons.m