ホームページ  >  記事  >  Java  >  Java ネットワーク プログラミングで一般的に使用されるプロトコルとライブラリは何ですか?

Java ネットワーク プログラミングで一般的に使用されるプロトコルとライブラリは何ですか?

PHPz
PHPzオリジナル
2024-05-09 18:21:01502ブラウズ

Java ネットワーク プログラミングで一般的に使用されるプロトコルとライブラリ: プロトコル: TCP、UDP、HTTP、HTTPS、FTP ライブラリ: java.net、java.nio、Apache HttpClient、Netty、OkHttp

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

Java ネットワーク プログラミング ライブラリ

Java は、ネットワーク プログラミングを簡素化するための豊富なライブラリとフレームワークを提供します。一般的に使用されるプロトコルとライブラリを以下に示します。

プロトコル

  • : 接続 -信頼性が高く、秩序あるデータ送信を提供するプロトコル。
  • UDP (User Datagram Protocol): オーバーヘッドが低く、信頼性の低いデータ送信を提供するコネクションレス型プロトコル。
  • HTTP (Hypertext Transfer Protocol): Web サーバーからリソースを取得するために使用されるプロトコル。
  • HTTPS (Hypertext Transfer Protocol Secure): TLS/SSL を使用してデータ送信を暗号化する HTTP の安全なバージョン。
  • FTP (ファイル転送プロトコル): クライアントとサーバーの間でファイルを転送するために使用されるプロトコル。

ライブラリ

  • java.net: Java でのネットワーク プログラミング用の基本ライブラリで、基本的なネットワーク操作を実行するためのメソッドとクラスを提供します。
  • java.nio: NIO (ノンブロッキング I/O) に基づいた高レベルのネットワーク API を提供し、ネットワーク イベントのマルチスレッド処理を可能にします。
  • Apache HttpClient: HTTP リクエストを送受信するための高レベルのメソッドを提供する、人気があり使いやすい HTTP クライアントです。
  • Netty: TCP、UDP、HTTP などの複数のプロトコルのサポートを提供する高性能 I/O フレームワーク。
  • OkHttp: モバイルデバイス用に最適化された軽量の非同期 HTTP クライアント。

実際のケース

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();
    }
}

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();
        }
    }
}

以上がJava ネットワーク プログラミングで一般的に使用されるプロトコルとライブラリは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。