class EchoServer
1:
2: import java.io.*;
3: import java.net.*;
4:
5: class EchoServer {
6:
7: public static void main(String[] args) {
8: System.out.println("EchoServer started.");
9: try {
10: ServerSocket s = new ServerSocket(8008);
11: Socket incoming = s.accept();
12:
13: System.out.println("Connected to: " + incoming.getInetAddress() +
14: " at port: " + incoming.getLocalPort());
15:
16: BufferedReader in
17: = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
18: PrintWriter out
19: = new PrintWriter(new OutputStreamWriter(incoming.getOutputStream()));
20:
21: out.println("Hello! This is Java EchoServer. Enter BYE to exit.");
22: out.flush();
23:
24: for (;;) {
25: String str = in.readLine();
26: if (str == null) {
27: break;
28: } else {
29: out.println("Echo: " + str);
30: out.flush();
31: System.out.println("Received: " + str);
32:
33: if (str.trim().equals("BYE"))
34: break;
35: }
36: }
37: incoming.close();
38: } catch (Exception e) {
39: System.out.println("Error: " + e);
40: }
41: System.out.println("EchoServer stopped.");
42: }
43:
44: }