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

📄 broadcast.java

📁 java scoket通信的源程序
💻 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 + -