Rumah >Java >javaTutorial >Apakah protokol dan perpustakaan yang biasa digunakan dalam pengaturcaraan rangkaian Java?

Apakah protokol dan perpustakaan yang biasa digunakan dalam pengaturcaraan rangkaian Java?

PHPz
PHPzasal
2024-05-09 18:21:01570semak imbas

Protokol dan perpustakaan yang biasa digunakan dalam pengaturcaraan rangkaian Java: Protokol: TCP, UDP, HTTP, HTTPS, Perpustakaan FTP: java.net, java.nio, Apache HttpClient, Netty, OkHttp

Java 网络编程中常用的协议和库有哪些?

Protokol dan perpustakaan yang biasa digunakan Pustaka pengaturcaraan rangkaian Java

Java menyediakan banyak perpustakaan dan rangka kerja untuk memudahkan pengaturcaraan rangkaian Beberapa protokol dan perpustakaan yang biasa digunakan disenaraikan di bawah:

Protokol

  • TCP (Protokol Kawalan Penghantaran). Protokol berorientasikan yang menyediakan penghantaran data yang boleh dipercayai dan teratur.
  • UDP (User Datagram Protocol): Protokol tanpa sambungan yang menyediakan penghantaran data overhead rendah dan tidak boleh dipercayai.
  • HTTP (Hypertext Transfer Protocol): Protokol yang digunakan untuk mendapatkan sumber daripada pelayan web.
  • HTTPS (Hypertext Transfer Protocol Secure): Versi HTTP selamat yang menggunakan TLS/SSL untuk menyulitkan penghantaran data.
  • FTP (Protokol Pemindahan Fail): Protokol yang digunakan untuk memindahkan fail antara pelanggan dan pelayan.

Library

  • java.net: Perpustakaan asas untuk pengaturcaraan rangkaian di Java, menyediakan kaedah dan kelas untuk melaksanakan operasi rangkaian asas.
  • java.nio: Menyediakan API rangkaian peringkat lebih tinggi berdasarkan NIO (I/O tidak menyekat), membenarkan pemprosesan acara rangkaian berbilang benang.
  • Apache HttpClient: Pelanggan HTTP yang popular dan mudah digunakan yang menyediakan kaedah peringkat tinggi untuk menghantar dan menerima permintaan HTTP.
  • Netty: Rangka kerja I/O berprestasi tinggi yang menyediakan sokongan untuk berbilang protokol, termasuk TCP, UDP dan HTTP.
  • OkHttp: Pelanggan HTTP yang ringan dan tak segerak yang dioptimumkan untuk peranti mudah alih.

Kes praktikal

Hantar permintaan HTTP GET

import java.net.HttpURLConnection;
import java.net.URL;

public class HttpGetExample {

    public static void main(String[] args) throws Exception {
        String url = "https://www.example.com";

        // 创建 HttpURLConnection
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        // 设置请求方法和内容类型
        con.setRequestMethod("GET");
        con.setRequestProperty("Content-Type", "application/json");

        // 发送请求并获取响应代码
        int responseCode = con.getResponseCode();

        // 打印响应正文
        System.out.println("Response Code: " + responseCode);
        Scanner scanner = new Scanner(con.getInputStream());
        while (scanner.hasNextLine()) {
            System.out.println(scanner.nextLine());
        }
        scanner.close();
    }
}

Buat pelayan TCP

import java.net.ServerSocket;
import java.net.Socket;

public class TcpServerExample {

    public static void main(String[] args) throws Exception {
        // 监听端口
        int port = 8080;

        // 创建 ServerSocket
        ServerSocket serverSocket = new ServerSocket(port);

        // 循环等待客户端连接
        while (true) {
            // 接受客户端连接
            Socket clientSocket = serverSocket.accept();
            
            // 创建新线程处理客户端连接
            Thread thread = new Thread(() -> {
                try {
                    // 获取客户端输入流
                    BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                    
                    // 打印客户端发来的数据
                    String line;
                    while ((line = in.readLine()) != null) {
                        System.out.println("Message from client: " + line);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            });
            thread.start();
        }
    }
}

Atas ialah kandungan terperinci Apakah protokol dan perpustakaan yang biasa digunakan dalam pengaturcaraan rangkaian Java?. 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