serverlisten.java

来自「企业内部管理系统」· Java 代码 · 共 65 行

JAVA
65
字号
package control;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.*;

import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import model.Node;

public class ServerListen extends Thread {
	ServerSocket server;

	JComboBox comboBox;

	JTextArea textArea;

	JLabel jlabel;

	UserLinkList userLinkList;

	Node client;

	ServerReceive recvThread;

	public boolean isStop;

	public ServerListen(ServerSocket server, JComboBox comboBox,
			JTextArea textArea, JLabel jlabel, UserLinkList userLinkList) {
		this.server = server;
		this.comboBox = comboBox;
		this.textArea = textArea;
		this.jlabel = jlabel;
		this.userLinkList = userLinkList;
		this.isStop = false;
	}

	public void run() {
		while (!isStop && !server.isClosed()) {
			try {
				client = new Node();
				client.socket = server.accept();
				client.output = new ObjectOutputStream(client.socket
						.getOutputStream());
				client.output.flush();
				client.input = new ObjectInputStream(client.socket
						.getInputStream());
				client.username = (String) client.input.readObject();
				comboBox.addItem(client.username);
				userLinkList.addUser(client);
				textArea.append("用户" + client.username + "上线" + "\n");
				jlabel.setText(userLinkList.getCount() + "人" + "\n");
				recvThread = new ServerReceive(textArea, jlabel, comboBox,
						client, userLinkList);
				recvThread.start();
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
	}
}

⌨️ 快捷键说明

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