import java.net.Socket; import java.net.ServerSocket; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; public class ReverseServer { public static void main (String[] args) { try { ServerSocket ssock = new ServerSocket (port, max_conn); while (true) { Socket sock = ssock.accept(); // accept() blocks InputStreamReader isr = new InputStreamReader (sock.getInputStream()); BufferedReader in = new BufferedReader (isr); String req = in.readLine(); // blocks String res = new StringBuffer(req).reverse().toString(); PrintWriter out = new PrintWriter (sock.getOutputStream()); out.println (res); out.flush(); sock.close(); } } catch (IOException e) { System.err.println(e); } } private static final int port = 9876; private static final int max_conn = 1; }