import java.io.*; import java.net.*; public class ServeurConnectionHandle extends Thread { Socket socketClient; BufferedReader in; PrintWriter out; ServeurSimple serveur; public ServeurConnectionHandle(Socket socket, ServeurSimple serveur) { try { socketClient = socket; this.serveur = serveur; System.out.print("Création des flux "); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(),true); this.start(); System.out.println("[OK]"); } catch (IOException error) { System.out.println("% "+ socketClient.getInetAddress().getHostName()+ " io error"); } } public void run() { String Ligne; ServeurConnectionHandle c; try { while (true) { Ligne=in.readLine(); Ligne="<"+ socketClient.getInetAddress().getHostName()+ ">"+ Ligne; if (Ligne==null) break; //envoyer à tous les clients connectés synchronized (serveur.ListeConnexions) { for (int i=0; i=0;i--) { c=(ServeurConnectionHandle) serveur.ListeConnexions.elementAt(i); if (!c.isAlive()) { serveur.ListeConnexions.removeElementAt(i); System.out.println("\tDeconnection Ok"); } } } try { Thread.sleep(200); } catch (InterruptedException skip) { ; } } } }