杨利霞 发表于 2020-5-13 15:16

分布式通信-tcp/ip 广播

分布式通信-tcp/ip 广播

服务端/** *  广播 */public class MulticastServer {    public static void main(String[] args) {        try {            //地址是224.0.0.0 --239.255.255.255            InetAddress group = InetAddress.getByName("225.0.0.0");            MulticastSocket socket = new MulticastSocket();            for(int i=0;i<10;i++){                String data ="hello world";                byte[] bytes = data.getBytes();                socket.send(new DatagramPacket(bytes,bytes.length,group,8888));                System.out.println("send data");                TimeUnit.SECONDS.sleep(2);            }        } catch (UnknownHostException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } catch (InterruptedException e) {            e.printStackTrace();        }    }}
客户端,可以同时有多个客户端public class MulticastClient {    public static void main(String[] args) {        //地址是224.0.0.0 --239.255.255.255        try {            InetAddress group = InetAddress.getByName("225.0.0.0");            MulticastSocket socket = new MulticastSocket(8888);            socket.joinGroup(group); // 加到指定的組裡面            byte[] buf = new byte];            while (true){                DatagramPacket msgPacket = new DatagramPacket(buf, buf.length);                //读不到一直处于阻塞状态                socket.receive(msgPacket);                System.out.println("receive data");                String msg = new String(msgPacket.getData());                System.out.println("接收到的数据:"+msg);            }        } catch (UnknownHostException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }}


转载于:https://www.cnblogs.com/newlangwen/p/10383850.html

页: [1]
查看完整版本: 分布式通信-tcp/ip 广播