c60a9f0cac133971c9b5ee4641f230d7a65d06fd
[tt2015.git] / a3 / code / jtorx / server / EchoHandler.java
1 import java.io.InputStreamReader;
2 import java.io.OutputStreamWriter;
3 import java.net.Socket;
4 import java.net.SocketException;
5
6 /**
7 * Connection echo handler. Everything it receives is sent back.
8 */
9 public class EchoHandler implements Runnable {
10 private Socket socket;
11
12 public EchoHandler(Socket socket) {
13 this.socket = socket;
14 try {
15 socket.setTcpNoDelay(false);
16 } catch (SocketException e) {
17 // TODO Auto-generated catch block
18 e.printStackTrace();
19 }
20 new Thread(this).start();
21 }
22
23 public void run() {
24 {
25 try {
26 System.out.println("new socket opening on "
27 + socket.getLocalPort());
28 InputStreamReader in = new InputStreamReader(
29 socket.getInputStream());
30 OutputStreamWriter out = new OutputStreamWriter(socket.getOutputStream());
31 int s;
32 while(((s=in.read()) != -1)) {
33 out.append((char)s);
34 out.flush();
35 System.out.print((char)s);
36 }
37 System.out.println();
38 System.out.println("Closing handler");
39 } catch (Exception e) {
40 // TODO Auto-generated catch block
41 e.printStackTrace();
42 }
43
44 }
45 }
46 }