socketserverdemo.java

来自「JAVA编程思想源代码 值得一下 很难找的」· Java 代码 · 共 87 行

JAVA
87
字号
package chapter15;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.applet.*;
import java.awt.Button;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class socketServerDemo extends Applet {
	ServerSocket server;

	String message = "";

	TextField t;

	DataOutputStream output;

	Socket socket;

	public void init() {
		setSize(300, 300);
		Label label1 = new Label("监听端口号:");
		add(label1);
		t = new TextField(20);
		add(t);
		Button b = new Button("开始监听端口");
		mouseListener m = new mouseListener();
		b.addMouseListener(m);
		add(b);
	}

	public void paint(Graphics g) {
		g.drawString(message, 20, 160);
	}

	class mouseListener implements MouseListener {

		public void mouseReleased(MouseEvent m) {
		}

		public void mouseClicked(MouseEvent m) {
			try {
				socket = server.accept(); //客户端已经连接
				message += "\r\n客户端已连接!";
				output = new DataOutputStream(socket.getOutputStream());
				output.writeUTF("已经成功连接到服务器!"); //向客户端写消息
				output.close();
				server.close();
			} catch (SocketException e) {
				message += e.toString();
				repaint();
				e.printStackTrace();
				System.exit(1);
			} catch (IOException e) {
				message += e.toString();
				repaint();
				e.printStackTrace();
				System.exit(1);
			}
			repaint();
		}

		public void mouseEntered(MouseEvent m) {
		}

		public void mousePressed(MouseEvent m) {
			try {
				server = new ServerSocket(Integer.parseInt(t.getText())); //开始监听指定端口
				message += "端口" + t.getText() + "\n\r等待客户端连接……";
				repaint();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

		public void mouseExited(MouseEvent m) {
		}
	}

}

⌨️ 快捷键说明

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