使用 Java 通过 UDP 发送数据203


UDP(用户数据报协议)是一种无连接、面向消息的传输协议,用于在网络上发送数据。它不像 TCP(传输控制协议)那样提供可靠的传输,但由于其低开销和简单性,它对于某些应用程序来说是理想的选择。

在 Java 中,我们可以使用 类来发送 UDP 数据报。让我们通过一个示例来了解如何使用它:```java
import .*;
public class UdpSender {
public static void main(String[] args) throws Exception {
// 创建一个 DatagramSocket,指定要发送数据的端口
DatagramSocket socket = new DatagramSocket();
// 要发送的数据
String data = "Hello, world!";
// 将数据转换为字节数组
byte[] dataBytes = ();
// 创建一个包含数据和目的地的 DatagramPacket
InetAddress address = ("localhost");
int port = 5000;
DatagramPacket packet = new DatagramPacket(dataBytes, , address, port);
// 发送数据报
(packet);
// 关闭 DatagramSocket
();
}
}
```

在这个示例中,我们创建了一个 DatagramSocket,指定要发送数据的端口(5000)。然后,我们将要发送的字符串转换为字节数组,并将其封装在一个 DatagramPacket 中。最后,我们使用 DatagramSocket 发送数据报,并关闭它以释放资源。

在接收端,可以使用 类来接收 UDP 数据报。示例代码如下:```java
import .*;
public class UdpReceiver {
public static void main(String[] args) throws Exception {
// 创建一个 DatagramSocket,指定要监听的端口
DatagramSocket socket = new DatagramSocket(5000);
// 创建一个 DatagramPacket 来接收数据
byte[] data = new byte[1024];
DatagramPacket packet = new DatagramPacket(data, );
// 接收数据报
(packet);
// 从数据报中获取数据和发送者信息
String receivedData = new String((), 0, ());
InetAddress address = ();
int port = ();
// 打印接收到的数据
("Received data: " + receivedData);
("From address: " + address);
("From port: " + port);
// 关闭 DatagramSocket
();
}
}
```

在这个示例中,我们创建了一个 DatagramSocket,指定要监听的端口(5000)。然后,我们创建一个 DatagramPacket 来接收数据,并使用 DatagramSocket 接收数据报。最后,我们从数据报中提取数据和发送者信息,并打印它们。

2024-11-19


上一篇:Java 数组是否为空检查的最佳实践

下一篇:Java 去重复字符