/** * EchoClient.java * From Java Network Programming (modified) * Uses the echo server to echo input typed at the command prompt * */ import java.net.*; import java.io.*; public class EchoClient { public static void main(String [] args) { Socket theSocket; String hostName; BufferedReader fromSocket; BufferedReader userInput; PrintWriter toSocket; String aLine; try { if(args.length > 0) { hostName = args[0]; } else { hostName = "localhost"; } theSocket = new Socket(hostName, 7); // echo server on 7 fromSocket = new BufferedReader( new InputStreamReader( theSocket.getInputStream())); toSocket = new PrintWriter(theSocket.getOutputStream()); userInput = new BufferedReader( new InputStreamReader(System.in)); while(true) { aLine = userInput.readLine(); if(aLine.equals(".")) break; toSocket.println(aLine); toSocket.flush(); // NB! System.out.println(fromSocket.readLine()); } toSocket.close(); fromSocket.close(); } catch (UnknownHostException e) { System.err.println(e); } catch (IOException e) { System.err.println(e); } } }