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

📄 telnet.java

📁 这是一个简易的远程登录bbs论坛的小软件
💻 JAVA
字号:

import java.io.*;
import java.net.*;
import javax.swing.*;

import java.awt.Color;
import java.awt.event.*;

class telnet {
	JFrame frame;
	JTextArea screen; // 接收框
	JTextField cmdInfo ,hostName;;//命令栏 服务器名字
	JLabel url, cmd; //标签
	JButton btnSend;
	JMenuBar menuBar;
	Socket s = null;
	DataOutputStream dos;
	
	@SuppressWarnings("deprecation")
	telnet() {		
		frame = new JFrame("课程设计--Telnet客户端实现");
		frame.setLocation(100, 100); 
		String init = "\n    输入您要连接的URL连接地址,在操作命令栏可以根据提示输入进一步要进行的操作\r\n";
		screen = new JTextArea(init);// 返回信息内容
		cmdInfo = new JTextField();// 命令输入口
		url = new JLabel("连接地址:");
		cmd = new JLabel("操作命令:");
		hostName = new JTextField();// 主机名
		btnSend = new JButton("发送请求");
		menuBar = new JMenuBar();//菜单栏
		JScrollPane scrollPane = new JScrollPane(screen);  //包装一个带滚动功能的接受框
		
		screen.setBackground(Color.black);
		screen.setForeground(Color.white);		
		
		menuBar.add(url);
		menuBar.add(hostName);
		menuBar.add(cmd);
		menuBar.add(cmdInfo);
		menuBar.add(btnSend);
		
		frame.setJMenuBar(menuBar);
		frame.getContentPane().add(scrollPane);
		frame.addWindowListener(new WindowAdapter() {

			//退出--关闭窗口
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});

		//响应发送按钮信息
		btnSend.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				sendCmd(); 
			}
		});
		frame.setSize(700, 500);
		frame.show();
	}

	
	/*
	  信息发送
	 */
		protected	 void sendCmd() {
		try {
			String	host = hostName.getText(); // 取得输入的主机
			if (s == null) {      
				//判断是否第一次连接 是则进行连接
				s = new Socket(host, 23);			
				new getInfoFromServer(s, screen); // 启动监听
				screen.append("    正在连接.........请稍等\r\n");  //  \r\n  表示回车换行
				dos = new DataOutputStream(s.getOutputStream());
				if (cmdInfo.toString().length() != 0) {
					dos.writeBytes(cmdInfo.getText());
				}
			} else {  
				//确定为连接后的后续操作
				if (cmdInfo.getText().length() != 0)
					dos.writeBytes(cmdInfo.getText() + "\r\n");     //获得命令并且发送到客户端
				cmdInfo.setText("");
			}
		} catch (Exception e) {
			System.out.println(e);
			String wrong = new String("\n    您输入的地址不正确!请输入正确的URL地址!!!\r\n");
			screen.setText(wrong);
			hostName.setText("");
			cmdInfo.setText("");          //重置窗口为空
		}
	}
//	
/*
  信息接收
 */
class getInfoFromServer extends Thread {
	Socket tempSocket;
	JTextArea tempTextArea;
	//构造方法实现功能
	getInfoFromServer(Socket socket, JTextArea ta) {
		tempSocket = socket;
		tempTextArea = ta;
		start();
	}
	
	@SuppressWarnings("deprecation")
	//重写的run方法。实现从服务器读取数据
	public void run() {
		try {
			InputStreamReader is = new InputStreamReader(tempSocket.getInputStream());
			BufferedReader in = new BufferedReader(is);  //包装好的带缓存的字符输入流
			String line;
			line = in.readLine(); //读一行
			while (line != null) {
				tempTextArea.append(line + "\r\n");  //保存起来 以便与显示
				line = in.readLine();  //再读一行 循环
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
//

// 入口方法 开始执行
public static void main(String args[]) {
	new telnet();
}
}

⌨️ 快捷键说明

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