共计 1329 个字符,预计需要花费 4 分钟才能阅读完成。
在 Java 中,可以使用 DatagramSocket
和DatagramPacket
类来实现 UDP 消息收发。以下是一个简单的示例代码:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPExample {private static final int PORT = 8888; // 设置 UDP 端口号
public static void main(String[] args) {try {// 创建 DatagramSocket 对象,绑定 UDP 端口
DatagramSocket socket = new DatagramSocket(PORT);
// 创建接收数据的字节数组
byte[] receiveBuffer = new byte[1024];
// 创建接收数据的 DatagramPacket 对象
DatagramPacket receivePacket = new DatagramPacket(receiveBuffer, receiveBuffer.length);
// 接收消息
socket.receive(receivePacket);
// 解析接收到的消息数据
String receivedMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println(" 接收到消息:" + receivedMessage);
// 创建发送数据的字节数组
byte[] sendBuffer = "Hello, UDP!".getBytes();
// 获取接收到的消息的地址和端口号
InetAddress address = receivePacket.getAddress();
int port = receivePacket.getPort();
// 创建发送数据的 DatagramPacket 对象
DatagramPacket sendPacket = new DatagramPacket(sendBuffer, sendBuffer.length, address, port);
// 发送消息
socket.send(sendPacket);
// 关闭连接
socket.close();} catch (IOException e) {e.printStackTrace();
}
}
}
这段代码演示了一个简单的 UDP 消息收发过程。首先,创建一个 DatagramSocket
对象并绑定一个 UDP 端口。然后,创建一个字节数组用于接收消息,并创建一个 DatagramPacket
对象用于接收数据。通过调用 receive
方法接收消息,并解析接收到的消息数据。接着,创建一个字节数组用于发送消息,并获取接收到的消息的地址和端口号。然后,创建一个新的 DatagramPacket
对象,并将发送数据、地址和端口号传递给它。最后,通过调用 send
方法发送消息,并关闭连接。
请注意,UDP 是一种无连接的协议,因此在发送消息之前,并不需要先建立连接。
丸趣 TV 网 – 提供最优质的资源集合!
正文完