广播地址:255.255.255.255

 

public class ClientDemo {

    public static void main(String[] args) throws IOException {
        // 广播 DatagramSocket客户端发送数据的步骤

        // 1:创建DatagramSocket客户端对象
        DatagramSocket ds = new DatagramSocket();
        // 2:创建数据并打包(DatagramPacket)
        String s = "广播,你好啊。。。";
        byte[] bytes = s.getBytes();
        // 这里的地址是广播的地址
        InetAddress address = InetAddress.getByName("255.255.255.255");
        int port = 6998;
        DatagramPacket dp = new DatagramPacket(bytes, bytes.length, address, port);
        // 3:调用DatagramSocket客户端对象的方法发送数据
        ds.send(dp);
        // 4:释放资源
        ds.close();
    }
}
public class ServiceDemo {

    public static void main(String[] args) throws IOException {
        // 广播 DatagramSocket接收端接收数据的步骤

        // 1、创建广播接收端对象 new DatagramSocket(6998)表示从6998端口接收数据,如果不写参数,默认从随机端口接收数据。
        DatagramSocket ds = new DatagramSocket(6998);

        // 2、创建一个用于接收数据的箱子
        DatagramPacket dp = new DatagramPacket(new byte[1024], 1024);

        // 3、调用DatagramSocket接收端对象的方法接收数据并放入箱子
        System.out.println("接收数据前");
        ds.receive(dp);
        System.out.println("接收数据后");

        // 4、解析箱子(数据包),并把数据展示
        byte[] data = dp.getData();
        int length = dp.getLength();
        String s = new String(data, 0, length);
        System.out.println(s);

        // 5、释放资源
        ds.close();
    }
}