Les flux d'E/S Java sont utilisés conjointement avec la communication réseau pour fournir un mécanisme standard permettant de gérer l'interaction des données réseau. Pour ce faire, procédez comme suit : Établissez une connexion Socket. Obtenez le flux d’entrée/sortie Socket. Lisez les données Socket à l’aide d’un flux d’entrée. Utilisez un flux de sortie pour écrire des données Socket.
L'utilisation combinée des flux d'E/S Java et de la communication réseau
Comprendre les flux d'E/S
Les flux d'E/S (entrée/sortie) sont utilisés en Java pour lire et écrire à partir d'un périphérique ou abstraction réseau pour l'écriture de données. Ils fournissent des mécanismes portables standard pour gérer différentes sources de données.
Comprendre la communication réseau
Java fournit une API robuste pour la communication réseau, notamment la création de sockets, l'envoi et la réception de données. La classe Socket est au cœur de la communication réseau et représente une connexion à un ordinateur distant.
Utilisation combinée des flux d'E/S et de la communication réseau
Les flux d'E/S et les communications réseau peuvent être intégrés ensemble pour réaliser une interaction de données sur le réseau. Voici les étapes spécifiques :
Cas pratique
Ce qui suit est une application de chat client-serveur implémentée en Java, démontrant l'utilisation combinée des flux d'E/S et de la communication réseau :
Client :
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(); } } }
Serveur :
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(); } } }
Exécuter
java Server
java Server
java Client
java Client
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!