48 lines
1.3 KiB
Java
48 lines
1.3 KiB
Java
package fr.istic.pr.echo;
|
|
|
|
import java.io.*;
|
|
import java.net.Socket;
|
|
|
|
public class ClientHandlerChar implements ClientHandler {
|
|
private Socket socket;
|
|
|
|
public ClientHandlerChar(Socket socket){
|
|
this.socket = socket;
|
|
}
|
|
|
|
@Override
|
|
public void handle() {
|
|
try {
|
|
//Lecture
|
|
InputStreamReader isr = new InputStreamReader(socket.getInputStream());
|
|
BufferedReader in = new BufferedReader(isr);
|
|
|
|
//Ecrire
|
|
OutputStreamWriter osw = new OutputStreamWriter(socket.getOutputStream());
|
|
PrintWriter out = new PrintWriter(osw);
|
|
|
|
String message;
|
|
while(socket.isConnected()){
|
|
while (((message = in.readLine())) != null) {
|
|
System.out.println("client reçu : " +message);
|
|
out.println(message);
|
|
out.flush();
|
|
}
|
|
}
|
|
|
|
in.close();
|
|
out.close();
|
|
isr.close();
|
|
osw.close();
|
|
}catch (IOException e){
|
|
System.out.println(e.getMessage());
|
|
}finally {
|
|
try{
|
|
socket.close();
|
|
}catch (IOException e){
|
|
System.out.println(e.getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|