package javademo.net; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.util.Scanner; /** * This program implements a simple server that listens to port 8189 and echoes * back all client input. * */ public class EchoServer { /** * @param args */ public static void main(String[] args) { try { // establish server socket ServerSocket s = new ServerSocket(8189); // wait for client connection java.net.Socket incoming = s.accept(); try { InputStream inStream = incoming.getInputStream(); OutputStream outStream = incoming.getOutputStream(); Scanner in = new Scanner(inStream); PrintWriter out = new PrintWriter(outStream, true/* autoFlash */); out.println("Hello! Enter BYE to exit."); // echo client input boolean done = false; while (!done && in.hasNextLine()) { String line = in.nextLine(); out.println("Echo: " + line); if (line.trim().equals("BYE")) done = true; } } finally { incoming.close(); } System.out.println("Server Exit."); } catch (IOException e) { e.printStackTrace(); } } }