📄 broadcast.java
字号:
package serverframe;import java.io.*;import java.awt.*;import java.net.*;import java.util.*;import java.awt.event.*;import javax.swing.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2006</p> * <p>Company: </p> * @author not attributable * @version 1.0 */class BroadCast extends Thread{ ClientThread c; ServerThread sThread; String m; public BroadCast(ServerThread sThread) { this.sThread = sThread; } public void run() { while(true) { try { Thread.sleep(1); } catch(InterruptedException E){} synchronized(sThread.messages) { if(sThread.messages.isEmpty())//如果消息为空则返回 continue; m = (String)sThread.messages.firstElement();//让m等于第一个消息 sThread.messages.removeElement(m);//移出该消息 } synchronized(sThread.Clients) { for(int i=0;i<sThread.Clients.size();i++)//循环客户机次,发送消息 { c = (ClientThread)sThread.Clients.elementAt(i);//返回指定的线程,及客户机线程 c.write.println(m);//把m写到每个客户机处理线程输出流中 } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -