广播地址: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(); } }
标签:DatagramSocket,UDP,广播,new,接收数据,ds,dp From: https://www.cnblogs.com/weiduaini/p/17218676.html