Cet article fournit un guide étape par étape sur la façon de créer une application de messagerie instantanée (MI) à l'aide de la programmation réseau Java. Ce guide couvre : Création de composants côté serveur. Créez des composants clients. Exécutez le code serveur et client pour envoyer et recevoir des messages. En suivant ces étapes, vous pouvez utiliser la programmation réseau Java pour développer diverses applications réseau telles que des robots d'exploration Web, des systèmes de transfert de fichiers et des jeux en ligne.
Un guide pour appliquer la programmation réseau Java à des projets du monde réel
Le développement d'applications réseau en Java implique la création de composants côté serveur et côté client. Cet article vous guidera étape par étape dans la création d'une application simple de messagerie instantanée (MI) en utilisant vos connaissances en programmation réseau Java.
Côté serveur
Server
qui étend la classe ServerSocket
. Server
类,扩展 ServerSocket
类。main
方法中,创建一个 ServerSocket
实例,并监听指定端口。accept
方法等待传入的客户端连接。客户端端
Client
类,用于连接到服务器。main
方法中,创建 Socket
实例,并通过服务器地址和端口连接到服务器。getInputStream
和 getOutputStream
main
, créez une instance ServerSocket
et écoutez le port spécifié. Utilisez la méthode accepter
pour attendre les connexions client entrantes. Créez un nouveau fil de discussion pour chaque connexion, ce fil est chargé de gérer la réception et l'envoi des messages du client.
Client
Créez un nouveau projet Java et ajoutez les dépendances nécessaires. Créez une classe Client
pour vous connecter au serveur.
Dans la méthode main
, créez une instance Socket
et connectez-vous au serveur via l'adresse et le port du serveur.
Utilisez les méthodes getInputStream
et getOutputStream
pour lire et envoyer des messages depuis le serveur.
Cas pratique : application de messagerie instantanée simple
import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8080); while (true) { Socket clientSocket = serverSocket.accept(); Thread thread = new Thread(new ClientHandler(clientSocket)); thread.start(); } } } class ClientHandler implements Runnable { private Socket clientSocket; public ClientHandler(Socket clientSocket) { this.clientSocket = clientSocket; } @Override public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); PrintWriter writer = new PrintWriter(clientSocket.getOutputStream()); while (true) { String message = reader.readLine(); if (message == null) { break; } System.out.println("Received message: " + message); writer.println("Message received: " + message); writer.flush(); } } catch (IOException e) { e.printStackTrace(); } finally { try { clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
import java.io.*; import java.net.Socket; public class Client { public static void main(String[] args) throws IOException { Socket clientSocket = new Socket("localhost", 8080); BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); PrintWriter writer = new PrintWriter(clientSocket.getOutputStream()); while (true) { BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); String message = consoleReader.readLine(); writer.println(message); writer.flush(); String serverMessage = reader.readLine(); System.out.println("Server response: " + serverMessage); } } }
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!