分享一个使用Java写的一个Telnet客户端(1)

2025-05-09 15:47:14

1、先看看用到的Jarcommons-net-3.4.jar

分享一个使用Java写的一个Telnet客户端(1)

2、启动一个Telnet服务器这次使用Redis服务器来做这个Telnet服务器

分享一个使用Java写的一个Telnet客户端(1)

3、先看看功能keys **0set hello "HelloTelnetClient"+OKget hello$17HelloTelnetClient

分享一个使用Java写的一个Telnet客户端(1)

4、上代码工具类:package chapter5;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(); } }}

分享一个使用Java写的一个Telnet客户端(1)
分享一个使用Java写的一个Telnet客户端(1)

5、主控代码:package chapter5;import org.apache.commons.net.telnet.TelnetClient;import ja即枢潋雳va.io.IOException;public class TelnetDemo { public static void main(String[] args) throws IOException { TelnetClient telnet = new TelnetClient(); String remoteIp = "192.168.31.249"; int remotePort = 6379; telnet.connect(remoteIp, remotePort); IOUtil.readWrite(telnet.getInputStream(), telnet.getOutputStream(), System.in, System.out); telnet.disconnect(); System.exit(0); }}

分享一个使用Java写的一个Telnet客户端(1)

6、要想停止正在执行的主进程呢停止telnet服务器呢只所以可以这样,是因为代码设计的比较合理有时间给大家分析下这段有意思的代码

分享一个使用Java写的一个Telnet客户端(1)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢