Add echoserver

implement 1
This commit is contained in:
Minh VU
2025-01-28 10:07:24 +01:00
parent 819456138e
commit a42779673f
9 changed files with 118 additions and 9 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@@ -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

13
.idea/compiler.xml generated Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="tp1.http" />
</profile>
</annotationProcessing>
</component>
</project>

7
.idea/encodings.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>

20
.idea/jarRepositories.xml generated Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

12
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="openjdk-23" project-jdk-type="JavaSDK" />
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@@ -3,7 +3,7 @@ package fr.istic.pr.echo;
import java.net.Socket; import java.net.Socket;
public class ClientHandlerBytes implements ClientHandler { public class ClientHandlerBytes implements ClientHandler, Runnable {
private Socket socket; private Socket socket;
@@ -15,4 +15,9 @@ public class ClientHandlerBytes implements ClientHandler {
//Lecture du message dans un buffer de bytes //Lecture du message dans un buffer de bytes
//Envoie du buffer de bytes. //Envoie du buffer de bytes.
} }
@Override
public void run() {
}
} }

View File

@@ -1,15 +1,53 @@
package fr.istic.pr.echo; 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 class EchoServer {
public static void main(String[] args) { private static ExecutorService executorService = Executors.newFixedThreadPool(10);
//Attente sur le port 8080 private ServerSocket serverSocket;
private static EchoServer echoServer;
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 : /* Pour chaque client :
1. accepter la connexion. 1. accepter la connexion.
2. créer un ClientHandler 2. créer un ClientHandler
3. appeler la méthode handleBytes() sur le handler 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();
}
} }
}