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

public class srv {

static String port = "5194";

public static void main(String[] argv) {
    if (argv.length == 0)
        new srv(port);
    else
        new srv(argv[0]);
}

srv(String port) {    // tcp/ip version
    try {
        ServerSocket ss = new ServerSocket(Integer.parseInt(port));
        while (true) {
            Socket sock = ss.accept();
            System.err.println("server socket " + sock);
            new echo(sock);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}

class echo {
    Socket sock;

echo(Socket sock) throws IOException {
    BufferedReader in = new BufferedReader(
        new InputStreamReader(sock.getInputStream())); // from socket
    BufferedWriter out = new BufferedWriter(
        new OutputStreamWriter(sock.getOutputStream())); // to socket
    String s;

    while ((s = in.readLine()) != null) {
	System.out.println("java srv got [" + s + "]");
        out.write(s);
        out.newLine();
        out.flush();
        if (s.equals("exit"))
            break;
    }
    sock.close();
}

}
