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

📄 serverlistenthread.java

📁 本例中聊天服务器默认于本地8000端口建立服务; 本例中聊天客户端默认连接59.64.7.48地址8000端口服务器;因为客户端没有提供服务器IP设置接口
💻 JAVA
字号:
/*
 * Created on 2004-12-14
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */

/**
 * @author mq
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

import java.io.*;
import java.net.*;

public class ServerListenThread extends Thread {
	ServerSocket server;
	
	JComboBox combobox;
	JTextArea textarea;
	JTextField textfield;
	UserInfoList userInfoList;
	
	Node client;
	ServerReceiveThread recvThread;
	
	public boolean isStop;

	public ServerListenThread(
		ServerSocket server,
		JComboBox combobox,
		JTextArea textarea,
		JTextField textfield,
		UserInfoList userInfoList)
	{
		this.server = server;
		this.combobox = combobox;
		this.textarea = textarea;
		this.textfield = textfield;
		this.userInfoList = userInfoList;
		
		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);
				userInfoList.add(client);
				textarea.append("user " + client.username + "上线" + "\n");
				textfield.setText("在线用户" + userInfoList.getCount() + "人\n");
				
				recvThread = new ServerReceiveThread(
					textarea,
					textfield,
					combobox,
					client,
					userInfoList);
				recvThread.start();
			}
			catch(Exception e)
			{
				//
			}
		}
	}
}

⌨️ 快捷键说明

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