⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 telnet.java

📁 这是《Java案例精粹150例(上册)》一书配套的源代码。
💻 JAVA
字号:
import java.io.*;
import java.net.*;

public class Telnet {
	public static void main(String [] args) throws IOException {
		if (args.length < 1) {
			System.out.println("用法:Telnet <主机名> <端口号>");
			return;
		}
		Socket sock = new Socket(args[0], 
			(args.length < 2) ? 23 : Integer.parseInt(args[1]));
		// 创建一个写线程
		new TelnetWriter(sock.getOutputStream()).start();
		// 创建一个读线程
		new TelnetReader(sock.getInputStream()).start();
	}
}

class TelnetWriter extends Thread {
	private PrintStream out;

	public TelnetWriter(OutputStream out) {
		this.out = new PrintStream(out);
	}
	public void run() {
		try {
			// 包装控制台输入流
			BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
			// 反复将控制台输入写到Telnet服务程序
			while (true)  out.println(in.readLine());
		} catch (IOException exc) {
			exc.printStackTrace();
		}
	}
}

class TelnetReader extends Thread {
	private InputStreamReader in;

	public TelnetReader(InputStream in) {
		this.in = new InputStreamReader(in);
	}
	public void run() {
		try {
			// 反复将Telnet服务程序的反馈信息显示在控制台屏幕上
			while (true) {
				// 从Telnet服务程序读取数据
				int b = in.read();
				if (b == -1)  System.exit(0);
				// 将数据显示在控制台屏幕上
				System.out.print((char) b);
			}
		} catch (IOException exc) {
			exc.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -