Rumah  >  Artikel  >  Java  >  Bagaimanakah pengaturcaraan rangkaian Java menggunakan UDP untuk komunikasi tanpa sambungan?

Bagaimanakah pengaturcaraan rangkaian Java menggunakan UDP untuk komunikasi tanpa sambungan?

WBOY
WBOYasal
2024-04-15 12:51:01365semak imbas

UDP (User Datagram Protocol) ialah protokol rangkaian tanpa sambungan ringan yang biasa digunakan dalam aplikasi sensitif masa. Ia membenarkan aplikasi menghantar dan menerima data tanpa membuat sambungan TCP. Contoh kod Java boleh digunakan untuk mencipta pelayan dan klien UDP, dengan pelayan mendengar datagram masuk dan bertindak balas, dan klien menghantar mesej dan menerima respons. Kod ini boleh digunakan untuk membina kes penggunaan dunia sebenar seperti aplikasi sembang atau sistem pengumpulan data.

Bagaimanakah pengaturcaraan rangkaian Java menggunakan UDP untuk komunikasi tanpa sambungan?

Pengaturcaraan Rangkaian Java: Komunikasi Tanpa Sambungan Menggunakan UDP

Pengenalan

UDP (User Datagram Protocol) ialah aplikasi rangkaian tanpa sambungan yang ringan dan biasa digunakan dalam protokol rangkaian yang sensitif terhadap masa. Ia membenarkan aplikasi menghantar dan menerima data tanpa membuat sambungan TCP.

Penggunaan

Berikut ialah contoh mencipta pelayan dan klien UDP menggunakan Java:

Kod pelayan:

import java.net.*;

public class UDPServer {

    public static void main(String[] args) throws Exception {
        // 创建一个DatagramSocket,监听6789端口
        DatagramSocket serverSocket = new DatagramSocket(6789);

        // 持续监听传入的数据报
        while (true) {
            // 创建一个数据报对象来接收数据
            DatagramPacket receivePacket = new DatagramPacket(new byte[1024], 1024);

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

            // 获取客户端地址和端口
            InetAddress clientAddress = receivePacket.getAddress();
            int clientPort = receivePacket.getPort();

            // 将数据报转换为字符串
            String message = new String(receivePacket.getData(), 0, receivePacket.getLength());

            System.out.println("收到来自 " + clientAddress + ":" + clientPort + " 的消息:" + message);

            // 创建一个数据报对象来响应客户端
            DatagramPacket responsePacket = new DatagramPacket(
                    ("响应:" + message).getBytes(),
                    ("响应:" + message).getBytes().length,
                    clientAddress,
                    clientPort
            );

            // 发送响应
            serverSocket.send(responsePacket);
        }

        // 关闭服务器套接字
        serverSocket.close();
    }
}

Kod pelanggan:

🎜🎜Ini kod boleh jadi digunakan Membina aplikasi sembang ringkas atau sistem pengumpulan data. Sebagai contoh, anda boleh menggunakan kod klien untuk menghantar mesej kepada pelayan, dan kemudian menggunakan kod pelayan untuk membalas mesej. 🎜

Atas ialah kandungan terperinci Bagaimanakah pengaturcaraan rangkaian Java menggunakan UDP untuk komunikasi tanpa sambungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn