diff --git a/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java b/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java index 87d2aef..d2525c8 100644 --- a/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java +++ b/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java @@ -1,13 +1,9 @@ - package fr.istic.pr.echo; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.OutputStream; +import java.io.*; import java.net.Socket; -public class ClientHandlerBytes implements ClientHandler, Runnable { +public class ClientHandlerBytes implements ClientHandler { private Socket socket; @@ -16,31 +12,27 @@ public class ClientHandlerBytes implements ClientHandler, Runnable { } public void handle() { - //Lecture du message dans un buffer de bytes - //Envoie du buffer de bytes. - try { - InputStream inStream = socket.getInputStream(); - + //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); - OutputStream outStream = socket.getOutputStream(); - - outStream.write(buffer); + //Envoie du buffer de bytes. + OutputStream out = socket.getOutputStream(); + out.write(buffer); System.out.println("client envoie : " + message); - - } catch (Exception e) { - System.out.println(e); - } - } - - @Override - public void run() { - while(!this.socket.isClosed()){ - handle(); + }catch (IOException e){ + System.out.println(e.getMessage()); + } finally { + try { + socket.close(); + }catch (IOException e){ + System.out.println(e.getMessage()); + } } } } diff --git a/src/main/java/fr/istic/pr/echo/EchoServer.java b/src/main/java/fr/istic/pr/echo/EchoServer.java index 45b6585..f5d2c7e 100644 --- a/src/main/java/fr/istic/pr/echo/EchoServer.java +++ b/src/main/java/fr/istic/pr/echo/EchoServer.java @@ -1,53 +1,31 @@ package fr.istic.pr.echo; import java.io.IOException; +import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -//import static jdk.internal.org.jline.utils.Colors.s; - -public class EchoServer { - - private static ExecutorService executorService = Executors.newFixedThreadPool(10); - private ServerSocket serverSocket; - private static EchoServer echoServer; +class echoServer { + public static void main(String[] args) throws IOException{ - private void run_Serveur() throws IOException { //Attente sur le port 8080s - //int num_de_client=1; - int portDuServeur= 8080; - ServerSocket serverSocket = new ServerSocket(portDuServeur); + int portDuServer = 8080; + ServerSocket serverSocket = new ServerSocket(portDuServer); try{ while(true){ - System.out.println("Coucou"); + /* Pour chaque client : + 1. accepter la connexion. + 2. créer un ClientHandler + 3. appeler la méthode handleBytes() sur le handler + */ Socket socket = serverSocket.accept(); - //ClientHandler clientHandler= new ClientHandler(serverSocket,num_de_client); - executorService.submit(new ClientHandlerBytes(socket)); - /* Pour chaque client : - 1. accepter la connexion. - 2. créer un ClientHandler - 3. appeler la méthode handleBytes() sur le handler - */ + ClientHandler clientHandler= new ClientHandlerBytes(socket); + clientHandler.handle(); + socket.close(); } }catch(Exception e){ - e.printStackTrace(); + System.out.println(e.getMessage()); } } - private void arret_Serveur(){ - executorService.shutdownNow(); - try{ - serverSocket.close(); - }catch (Exception e){ - e.printStackTrace(); - } - } - public static void main(String[] args) throws IOException { - echoServer= new EchoServer(); - echoServer.run_Serveur(); - } - -} \ No newline at end of file +}