/**
* Cette classe ne connaît ni le client ni le serveur
* Elle est simplement connectée via une socket TCP/IP
* à une autre socket d'une autre machine
*/

import java.net.*;
import java.io.*;

class EchoConnection extends Thread
{
  Socket socket;

  EchoConnection(Socket socket)
  {
    System.out.println("Appel reçu sur port 7");
    this.socket = socket;
// Les threads qui gèrent le port doivent être de plus haute priorité
// que ceux rendent le service client de manière à ne pas les empêcher
// de réaliser leur tâche

    setPriority( NORM_PRIORITY-1 );
    start();
  }

  public void run()
  
{
    System.out.println("Lancement du thread sur port 7");
    PrintWriter outputStream = null;
    BufferedReader inputStream = null;
    try
    
{
// création d'un inputStream à partir de la socket
      inputStream = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// création d'un outputStream vers la socket.
      outputStream = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);

// création d'une entrée à partir du navigateur
// et retour d'un echo sur le navigateur

      String input = inputStream.readLine();
      outputStream.println("Voici l'écho : "+input);
      System.out.println("Saisie obtenue: "+ input);
      socket.close();
      System.out.println("Socket fermée");
    }
    catch( IOException e)
    {System.out.println( "I/O erreur " + e );}
  }//fin run
}//fin EchoConnection