使用 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方法栈日志的艺术:从错误定位到性能优化的深度指南
https://www.shuihudhg.cn/133725.html
PHP 获取本机端口的全面指南:实践与技巧
https://www.shuihudhg.cn/133724.html
Python内置函数:从核心原理到高级应用,精通Python编程的基石
https://www.shuihudhg.cn/133723.html
Java Stream转数组:从基础到高级,掌握高性能数据转换的艺术
https://www.shuihudhg.cn/133722.html
深入解析:基于Java数组构建简易ATM机系统,从原理到代码实践
https://www.shuihudhg.cn/133721.html
热门文章
Java中数组赋值的全面指南
https://www.shuihudhg.cn/207.html
JavaScript 与 Java:二者有何异同?
https://www.shuihudhg.cn/6764.html
判断 Java 字符串中是否包含特定子字符串
https://www.shuihudhg.cn/3551.html
Java 字符串的切割:分而治之
https://www.shuihudhg.cn/6220.html
Java 输入代码:全面指南
https://www.shuihudhg.cn/1064.html