📄 broadcast.java
字号:
import java.io.*;
public class BroadCast extends Thread
{ //服务器向客户端广播线程
//声明ClientThread对象
ClientThread clientThread;
//声明ServerThread对象
ServerThread serverThread;
String str;
public BroadCast(ServerThread serverThread)
{
this.serverThread = serverThread;
}
public void run()
{
while(true)
{
try //线程休眠300毫秒
{
Thread.sleep(300);
}
catch(InterruptedException E){}
//同步化serverThread.messages
synchronized(serverThread.messages)
{
//获取服务器端存取的某一客户端发送来得数据信息
if(serverThread.messages.isEmpty()){continue;}
str = (String)this.serverThread.messages.firstElement();
//从Vector数组中删除某一客户端发送来得数据信息
this.serverThread.messages.removeElement(str);
}
//同步化serverThread.clients
synchronized(serverThread.clients)
{
//利用循环获取服务器中存储的,所有建立的与客户端的连接
for(int i=0;i<serverThread.clients.size();i++)
{
clientThread = (ClientThread)serverThread.clients.elementAt(i);
try
{
//向纪录的每一个客户端发送数据信息
clientThread.out.writeUTF(str);
}
catch(IOException E){}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -