基于udp的广播消息JAVA实现运行结果
时间: 2023-12-11 12:02:59 浏览: 47
由于广播消息的接收端可能会有多个,因此我们需要编写一个接收端的程序来验证广播消息是否发送成功。下面是一个简单的接收端示例代码:
```java
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
public class MulticastReceiver {
public static void main(String[] args) {
try {
InetAddress group = InetAddress.getByName("230.0.0.0"); // 广播组的IP地址
int port = 1234; // 广播组的端口号
MulticastSocket socket = new MulticastSocket(port); // 创建MulticastSocket对象
socket.joinGroup(group); // 加入广播组
byte[] buffer = new byte[1024]; // 创建接收消息的缓冲区
DatagramPacket packet = new DatagramPacket(buffer, buffer.length); // 创建DatagramPacket对象
socket.receive(packet); // 接收消息
String message = new String(packet.getData(), 0, packet.getLength()); // 将接收到的字节数组转换为字符串
System.out.println("Received message: " + message);
socket.leaveGroup(group); // 离开广播组
socket.close(); // 关闭MulticastSocket对象
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们创建了一个MulticastSocket对象,并加入了指定的广播组。然后创建了一个大小为1024字节的缓冲区,并创建了一个DatagramPacket对象来接收广播消息。调用MulticastSocket的receive方法接收消息,并将接收到的字节数组转换为字符串,并打印到控制台中。最后离开广播组并关闭MulticastSocket对象。
运行发送端和接收端程序后,发送端会向指定的广播组发送消息,接收端会接收到该消息,并将其打印到控制台中。如果一切正常,运行结果应该如下:
```
Received message: Hello, World!
```