📄 chatroomserver.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
public class ChatRoomServer extends Frame implements Runnable{
Panel panel;
ScrollPane sPanel;
TextArea textArea;
Button button1;
ServerSocket serverSock;
public final static int DEFAULT_PORT=6666;
Thread chatAcceptThread;
BroadcastThread broadcastThread;
java.util.Vector clients;
java.util.Vector clientsInfor;
public static int index=0;
public ChatRoomServer(){
try{
jbInit();
}catch(Exception e){
e.printStackTrace();
}
serverListen();
}
private void jbInit(){
panel=new Panel();
sPanel=new ScrollPane();
textArea=new TextArea("server information:\n");
button1=new Button("退出");
sPanel.add(textArea);
button1.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(ActionEvent e){
button1_actionPerformed(e);
}
});
panel.add(button1);
this.addWindowListener(new ChatFrame_WindowAdapter());
this.setSize(600,600);
this.setLayout(new BorderLayout());
this.add(sPanel,BorderLayout.CENTER);
this.add(panel,BorderLayout.SOUTH);
this.show();
}
private void button1_actionPerformed(ActionEvent e){
exit();
}
public void exit(){
broadcastThread.broadcast("Server exit!");
try{
serverSock.close();
}catch(IOException ioe){}
finally{
System.exit(0);
}
}
public void processMsg(String str){
textArea.append(str);
}
private void serverListen(){
try{
serverSock=new ServerSocket(DEFAULT_PORT);
}catch(IOException e){
processMsg(e.toString());
processMsg("server failed!\n");
}
processMsg("server listening on port:"+DEFAULT_PORT);
clients=new java.util.Vector();
clientsInfor=new java.util.Vector();
chatAcceptThread=new Thread(this);
chatAcceptThread.start();
broadcastThread=new BroadcastThread(this);
broadcastThread.start();
}
public void run(){
int i=0;
try{
while(true){
Socket clientSock=serverSock.accept();
CommunicateThread ct=new CommunicateThread(clientSock,this,index);
clients.add(ct)
i++;
index++;
clientsInfor.add("Client-"+i);
processMsg("Client-"+i+"join in\n");
}
}catch(IOException e){
processMsg(e.toString());
}
}
public static void main(String[] args){
ChatRoomServer chat=new ChatRoomServer();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -