以下是一个简单的Java UDP传输的示例代码:

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UDPServer {
    public static void main(String[] args) {
        try {
            // 创建UDP socket
            DatagramSocket serverSocket = new DatagramSocket(9876);

            byte[] receiveData = new byte[1024];

            while (true) {
                // 创建接收数据的packet
                DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);

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

                // 从packet中获取接收到的数据
                String receivedMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
                System.out.println("接收到数据: " + receivedMessage);

                // 发送响应数据
                String responseMessage = "Hello, client!";
                byte[] sendData = responseMessage.getBytes();

                // 获取客户端的IP地址和端口号
                String clientIPAddress = receivePacket.getAddress().getHostAddress();
                int clientPort = receivePacket.getPort();

                // 创建发送数据的packet
                DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, receivePacket.getAddress(), clientPort);

                // 发送数据
                serverSocket.send(sendPacket);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPClient {
    public static void main(String[] args) {
        try {
            // 创建UDP socket
            DatagramSocket clientSocket = new DatagramSocket();

            // 设置服务器的IP地址和端口号
            InetAddress serverIPAddress = InetAddress.getByName("localhost");
            int serverPort = 9876;

            // 发送数据
            String message = "Hello, server!";
            byte[] sendData = message.getBytes();
            DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverIPAddress, serverPort);
            clientSocket.send(sendPacket);
            System.out.println("发送数据: " + message);

            // 接收响应数据
            byte[] receiveData = new byte[1024];
            DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
            clientSocket.receive(receivePacket);

            // 从packet中获取响应数据
            String receivedMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
            System.out.println("接收到响应数据: " + receivedMessage);

            // 关闭socket
            clientSocket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这个示例中,一个简单的UDP服务器监听本地的9876端口,接收客户端发送的数据,并回复一个固定的响应消息。UDP客户端向服务器发送一条消息,并接收服务器的响应消息

做一个Java udp传输

原文地址: http://www.cveoy.top/t/topic/iC2X 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录