Java UDP

UDP没有明确的服务端和客户端,只是提供服务的一端被成为服务端,发送数据的另一端被称为客户端.

UDP在java中通过DatagramSocket来创建UDP套接字, 通过DatagramPacket创建UDP套接字传输的byte数组

提供服务的UDP服务端

import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket;

public class UDPServerSocket {

public static void main(String[] args) throws IOException {
    int port = 8080;
    DatagramSocket serverSocket = new DatagramSocket(port);

    byte[] bytes = new byte[1024];
    // 创建接收数据报
    DatagramPacket receivePacket = new DatagramPacket(bytes, bytes.length);

    // 接收数据报
    serverSocket.receive(receivePacket);

    // 解析接收到的数据
    String message = new String(receivePacket.getData(), 0, receivePacket.getLength());
    System.out.println("收到消息:" + message);
}
}


2. 发送数据的UDP客户端
```java
package org.example.socket.udp;

import java.io.IOException;
import java.net.*;

public class UDPClientSocket {
    public static void main(String[] args) throws IOException {
        // 创建UDP套接字
        DatagramSocket socket = new DatagramSocket();

        // 创建要发送的数据
        byte[] sendData = "Hello, UDP!".getBytes();

        // 指定目标地址和端口
        InetAddress serverAddress = InetAddress.getByName("localhost");
        int serverPort = 8888;

        // 创建数据报
        DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverAddress, serverPort);

        // 发送数据报
        socket.send(sendPacket);
    }
}
posted @ 2025-08-07 20:09  wds09  阅读(13)  评论(0)    收藏  举报