You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.3 KiB
Java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ServeurTCP {
public static void main(String args[]) throws Exception {
GestionProtocole gp = new GestionProtocole();
// Création d'un socket serveur générique sur le port 40000
ServerSocket ssg = new ServerSocket(40000);
while(true) {
// On attend une connexion puis on l'accepte
Socket sss = ssg.accept();
System.out.println(sss);
// Construction d'un BufferedReader pour lire du texte envoyé à travers la connexion socket
BufferedReader entreeSocket = new BufferedReader(new InputStreamReader(sss.getInputStream()));
// Construction d'un PrintStream pour envoyer du texte à travers la connexion socket
PrintStream sortieSocket = new PrintStream(sss.getOutputStream());
String chaine = "";
while(chaine != null) {
// lecture d'une chaine envoyée à travers la connexion socket
chaine = entreeSocket.readLine();
// si elle est nulle c'est que le client a fermé la connexion
if (chaine != null){
System.out.println("requete : " + chaine);
String reponse = gp.traite(chaine);
sortieSocket.println(reponse); // on envoie la chaine au client
}
}
// on ferme nous aussi la connexion
sss.close();
}
}
}