// lars appel 25.nov.98 / 05.dec.98 / 24.feb.99 import java.net.*; import java.io.*; import java.util.*; class WebEcho { // waits for a single http request on port 3001 and returns some data public static void main( String[] args ) throws Exception { ServerSocket serv = new ServerSocket(3001); Socket sock = serv.accept(); BufferedReader bufr = new BufferedReader( new InputStreamReader (sock.getInputStream()) ); PrintWriter prtw = new PrintWriter( sock.getOutputStream() , false ); // no autoFlush Vector v = new Vector(10); // collects headers sent by browser boolean done = false; while (! done) { try { String x = bufr.readLine(); if (x.length() == 0) done = true; else { System.out.println (x); v.addElement (x); } } catch (EOFException e) { done = true; System.out.println ("-eof-"); // ever reached ?? } } prtw.println ("HTTP/1.0 200 OK"); prtw.println ("Content-type: text/plain"); prtw.println (); prtw.println ("Here is your request..."); for (int k=0; k < v.size(); k++) prtw.println (v.elementAt(k)); prtw.flush(); prtw.println ("\nAnd now a loop test..."); for (int k=100; k < 200; k++) prtw.println ( k + " a b c d e f g h i j k l m n o p q r s t u v w x y z" ); prtw.println ("Thanks and bye"); prtw.flush(); bufr.close(); prtw.close(); sock.close(); serv.close(); } }