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(); } }