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

 时间:2024-10-14 13:03:24

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)
  • Linux中如何给gbase8s数据库创建数据库
  • highlight.js如何高亮代码并显示行号?
  • 风暴英雄2.0——执行官塔萨达尔天赋技能加点
  • 教你学会实现MFC程序登录的第二种方法
  • 如何将html+css+js打包成安卓或者苹果应用?
  • 热门搜索
    凯撒旅游官网 旅游政务网 私人定制旅游 网络旅游 云南昆明旅游景点 绵阳旅游景点 朱家尖旅游 外国旅游 胡杨林旅游 葫芦岛旅游攻略