diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fb4cbe5 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..bf58084 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/fr/istic/pr/echo/ClientHandler.java b/src/main/java/fr/istic/pr/echo/ClientHandler.java index 196e178..3bd9e8f 100644 --- a/src/main/java/fr/istic/pr/echo/ClientHandler.java +++ b/src/main/java/fr/istic/pr/echo/ClientHandler.java @@ -1,6 +1,6 @@ package fr.istic.pr.echo; -public interface ClientHandler { +public interface ClientHandler { /** La méthode handle traite le client **/ public void handle(); } \ No newline at end of file diff --git a/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java b/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java index f4f6c93..ca6f228 100644 --- a/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java +++ b/src/main/java/fr/istic/pr/echo/ClientHandlerBytes.java @@ -3,7 +3,7 @@ package fr.istic.pr.echo; import java.net.Socket; -public class ClientHandlerBytes implements ClientHandler { +public class ClientHandlerBytes implements ClientHandler, Runnable { private Socket socket; @@ -15,4 +15,9 @@ public class ClientHandlerBytes implements ClientHandler { //Lecture du message dans un buffer de bytes //Envoie du buffer de bytes. } + + @Override + public void run() { + + } } diff --git a/src/main/java/fr/istic/pr/echo/EchoServer.java b/src/main/java/fr/istic/pr/echo/EchoServer.java index 79d46e1..45b6585 100644 --- a/src/main/java/fr/istic/pr/echo/EchoServer.java +++ b/src/main/java/fr/istic/pr/echo/EchoServer.java @@ -1,15 +1,53 @@ package fr.istic.pr.echo; +import java.io.IOException; +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 { - public static void main(String[] args) { - //Attente sur le port 8080 + private static ExecutorService executorService = Executors.newFixedThreadPool(10); + private ServerSocket serverSocket; + private static EchoServer echoServer; - /* Pour chaque client : - 1. accepter la connexion. - 2. créer un ClientHandler - 3. appeler la méthode handleBytes() sur le handler - */ + private void run_Serveur() throws IOException { + //Attente sur le port 8080s + //int num_de_client=1; + int portDuServeur= 8080; + ServerSocket serverSocket = new ServerSocket(portDuServeur); + try{ + while(true){ + System.out.println("Coucou"); + 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 + */ + } + }catch(Exception e){ + e.printStackTrace(); + } } + 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