ホームページ  >  記事  >  Java  >  Java I/O ストリームはネットワーク通信とどのように併用されますか?

Java I/O ストリームはネットワーク通信とどのように併用されますか?

WBOY
WBOYオリジナル
2024-04-13 22:27:01575ブラウズ

Java I/O ストリームは、ネットワーク通信と組み合わせて使用​​され、ネットワーク データ対話を処理するための標準メカニズムを提供します。これは、次の手順で実現します。 ソケット接続を確立します。ソケットの入出力ストリームを取得します。入力ストリームを使用してソケット データを読み取ります。出力ストリームを使用してソケット データを書き込みます。

Java I/O流与网络通信是如何结合使用的?

#Java I/O ストリームとネットワーク通信の併用

#I/O ストリームについて

I/O (入力/出力) ストリームは、デバイスまたはネットワークからデータを読み書きするための Java の抽象化です。これらは、さまざまなデータ ソースを処理するための標準的な移植可能なメカニズムを提供します。

ネットワーク通信について

Java は、ソケットの作成、データの送受信など、ネットワーク通信のための堅牢な API を提供します。 Socket クラスはネットワーク通信の中核であり、リモート コンピューターへの接続を表します。

I/O ストリームとネットワーク通信の併用

I/O ストリームとネットワーク通信を統合して、ネットワークを介したデータ対話を実現できます。具体的な手順は次のとおりです。

ソケットを作成し、リモート コンピュータとの接続を確立します。
  1. Socket の入力ストリーム (InputStream) と出力ストリーム (OutputStream) を取得します。
  2. ファイルやコンソールからデータを読み取るのと同じように、入力ストリームを使用してソケットからデータを読み取ります。
  3. ファイルやコンソールに書き込むのと同じように、出力ストリームを使用してソケットにデータを書き込みます。
実践的なケース

次は、I/O ストリームとネットワーク通信の組み合わせを示す、Java で実装されたクライアント/サーバー チャット アプリケーションです。

#クライアント:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {

    public static void main(String[] args) {
        String hostname = "localhost";
        int port = 5000;

        try (Socket socket = new Socket(hostname, port);
             BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
             PrintWriter out = new PrintWriter(socket.getOutputStream())) {

            // 发送消息到服务器
            out.println("Hello from client!");

            // 读取服务器响应
            String serverResponse = in.readLine();
            System.out.println("Received from server: " + serverResponse);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
サーバー:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

    public static void main(String[] args) {
        int port = 5000;

        try (ServerSocket serverSocket = new ServerSocket(port);
             Socket clientSocket = serverSocket.accept();
             BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
             PrintWriter out = new PrintWriter(clientSocket.getOutputStream())) {

            // 读取客户端消息
            String clientMessage = in.readLine();
            System.out.println("Received from client: " + clientMessage);

            // 发送响应到客户端
            out.println("Hello from server!");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
#実行

#サーバーの起動:java サーバー

    クライアントの起動:
  1. java クライアント

以上がJava I/O ストリームはネットワーク通信とどのように併用されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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