?? 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 + -