From 54b7a0cf9a71382931992f8b0cdfe73100bdbdf1 Mon Sep 17 00:00:00 2001 From: Minh VU Date: Mon, 3 Feb 2025 21:21:08 +0100 Subject: [PATCH] Partie 1 exo 1 fini Test bon --- .../fr/istic/pr/echo/ClientHandlerBytes.java | 22 ++++++++++++------- .../fr/istic/pr/echo/ClientHandlerChar.java | 20 ++++++++++++----- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java b/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java index d2525c8..e8406f5 100644 --- a/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java +++ b/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java @@ -15,16 +15,22 @@ public class ClientHandlerBytes implements ClientHandler { try { //Lecture du message dans un buffer de bytes InputStream inStream = socket.getInputStream(); - byte[] buffer = new byte[8]; - inStream.read(buffer); - String message = new String(buffer); - System.out.println("client reçu : " + message); - - //Envoie du buffer de bytes. OutputStream out = socket.getOutputStream(); - out.write(buffer); - System.out.println("client envoie : " + message); + + while(socket.isConnected()){ + while(inStream.read(buffer) != -1){ + String message = new String(buffer); + System.out.println("client reçu : " + message); + //Envoie du buffer de bytes. + out.write(message.getBytes()); + System.out.println("client envoie : " + message); + out.flush(); + buffer = new byte[8]; + } + } + inStream.close(); + out.close(); }catch (IOException e){ System.out.println(e.getMessage()); } finally { diff --git a/src/main/java/fr/istic/pr/echo/ClientHandlerChar.java b/src/main/java/fr/istic/pr/echo/ClientHandlerChar.java index 579d1b9..6bf708f 100644 --- a/src/main/java/fr/istic/pr/echo/ClientHandlerChar.java +++ b/src/main/java/fr/istic/pr/echo/ClientHandlerChar.java @@ -16,14 +16,24 @@ public class ClientHandlerChar implements ClientHandler { //Lecture InputStreamReader isr = new InputStreamReader(socket.getInputStream()); BufferedReader in = new BufferedReader(isr); - String message; - while (((message = in.readLine())) != null) { - System.out.println(message); - } //Ecrire OutputStreamWriter osw = new OutputStreamWriter(socket.getOutputStream()); - PrintWriter out = new PrintWriter(osw, true); + PrintWriter out = new PrintWriter(osw); + + String message; + while(socket.isConnected()){ + while (((message = in.readLine())) != null) { + System.out.println("client reçu : " +message); + out.println(message); + out.flush(); + } + } + + in.close(); + out.close(); + isr.close(); + osw.close(); }catch (IOException e){ System.out.println(e.getMessage()); }finally {