Maison  >  Article  >  Java  >  Quels sont les protocoles et bibliothèques couramment utilisés dans la programmation réseau Java ?

Quels sont les protocoles et bibliothèques couramment utilisés dans la programmation réseau Java ?

PHPz
PHPzoriginal
2024-05-09 18:21:01537parcourir

Protocoles et bibliothèques couramment utilisés dans la programmation réseau Java : Protocoles : TCP, UDP, HTTP, HTTPS, FTP Bibliothèques : java.net, java.nio, Apache HttpClient, Netty, OkHttp

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

Protocoles et bibliothèques couramment utilisés dans Bibliothèques de programmation réseau Java

Java fournit une multitude de bibliothèques et de frameworks pour simplifier la programmation réseau. Certains protocoles et bibliothèques couramment utilisés sont répertoriés ci-dessous :

Protocole

  • TCP (Transmission Control Protocol) : une connexion-. Protocole orienté qui assure une transmission de données fiable et ordonnée.
  • UDP (User Datagram Protocol) : un protocole sans connexion qui permet une transmission de données peu fiable et peu coûteuse.
  • HTTP (Hypertext Transfer Protocol) : Protocole utilisé pour obtenir des ressources d'un serveur Web.
  • HTTPS (Hypertext Transfer Protocol Secure) : Une version sécurisée de HTTP qui utilise TLS/SSL pour crypter la transmission de données.
  • FTP (File Transfer Protocol) : Un protocole utilisé pour transférer des fichiers entre clients et serveurs.

Library

  • java.net : Une bibliothèque de base pour la programmation réseau en Java, fournissant des méthodes et des classes pour effectuer des opérations réseau de base.
  • java.nio : Fournit une API réseau de niveau supérieur basée sur NIO (E/S non bloquantes), permettant le traitement multithread des événements réseau.
  • Apache HttpClient : un client HTTP populaire et facile à utiliser qui fournit des méthodes de haut niveau pour envoyer et recevoir des requêtes HTTP.
  • Netty : un framework d'E/S hautes performances qui prend en charge plusieurs protocoles, notamment TCP, UDP et HTTP.
  • OkHttp : Un client HTTP léger et asynchrone optimisé pour les appareils mobiles.

Cas pratique

Envoyer une requête 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();
    }
}

Créer un serveur 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();
        }
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn