zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    
    }
  • 相关阅读:
    Feature hashing相关
    损失函数(Loss Function) -1
    Android系统容量检测 —— Environment 和StatFs
    android 图像处理(黑白,模糊,浮雕,圆角,镜像,底片,油画,灰白,加旧,哈哈镜,放大镜)
    android中listview的一些样式设置
    Android代码调试报错
    珍藏40个android应用源码分享
    Android应用中菜单(Menu)的位置显示问题
    解决android4.0系统中菜单(Menu)添加Icon无效问题
    android自定义title
  • 原文地址:https://www.cnblogs.com/softidea/p/5396341.html
Copyright © 2011-2022 走看看