📄 broadcastthread.java
字号:
import java.io.*;
public class BroadcastThread extends Thread{ //广播线程
Server_Socket server;
java.util.Vector Clients;
java.util.Vector msgStack;
java.util.Vector clientMsg;
CommunicateThread comThread1;
CommunicateThread comThread2;
String string;
String clientName;
String broadcastInfor;
BroadcastThread(Server_Socket ser){ //初始化
server=ser;
Clients=server.clients;
clientMsg=server.clientsInfor;
}
public void broadcast(String str){ //广播
for(int k=0;k<Clients.size();k++){
comThread2=(CommunicateThread)Clients.get(k);
comThread2.sendInformation(str);
}
}
public void run(){
try{
while(true){
for(int i=0;i<Clients.size();i++){ //对整个系统中的用户进行遍历
comThread1=(CommunicateThread)Clients.get(i);
msgStack=comThread1.inforStack;
clientName=(String)clientMsg.get(i);
for(int j=0;j<msgStack.size();j++){ //对整个消息向量中的消息进行遍历
string=(String)msgStack.get(j);
broadcastInfor=clientName+":"+string;
broadcast(broadcastInfor); //广播接受到的消息
}
msgStack.removeAllElements();
}
try{
Thread.sleep(100);
}
catch(InterruptedException ex){}
}
}
catch(Exception e){}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -