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

📄 serverthread.java

📁 chatting room 程序
💻 JAVA
字号:
package SmallChatRoom;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Vector;

import javax.swing.JTextArea;

public class ServerThread extends Thread {
		int sPort;
		ServerSocket ssocket;
		ServerFrame sframe;
		JTextArea sstatus;
		Vector clients;
		Vector messages;
		
		BroadCost broadcast_witer;
		CleanDeadConnect cleaner;
		
		public ServerThread(ServerFrame frame){
			clients=new Vector();
			messages=new Vector();
			
			try{
				sPort=1000;
				ssocket=new ServerSocket(sPort);
			}
			catch(IOException e){
				System.out.println("发生异常: "+e);
				System.out.println("无法建立服务器插口!!");
				System.exit(1);
			}
			
			this.sframe=frame;
			this.sstatus=frame.serverstatus;
			
			sstatus.append("聊天服务器已启动....\n\n");
			sstatus.append(">>>>>>>等待用户登录<<<<<<<<<\n\n");
			
			broadcast_witer=new BroadCost(this);
			broadcast_witer.start();
			cleaner=new CleanDeadConnect(this);
			cleaner.start();
		}
		////////////////////////////////////////////////////////
		public void run(){
			while(true){
				try{
					Socket csocket=ssocket.accept();
					
					ClientThread cThread=new ClientThread(csocket,this);
					cThread.start();
					
					sstatus.append(cThread.getClientName()+": ");
					sstatus.append(cThread.getClientAddress()+"已联机");
					sstatus.append("目前联机数:"+ClientThread.connectNumber+"\n");
					
					synchronized(clients){
						clients.addElement(cThread);
					}
				}
				catch(IOException e){
					System.out.println("发生异常: "+e);
					System.out.println("建立客户段连接失败!!");
					System.exit(2);
				}
			}
		}
		////////////////////////////////////////////////////
		public void finalize(){
			try{
				ssocket.close();
			}
			catch(IOException e){
				ssocket=null;
			}
		}
}

⌨️ 快捷键说明

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