📄 serverthread.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 + -