⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 broadcastthread.java

📁 用Java编写的基于Socket的聊天室小程序!
💻 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 + -