/*
    This program gives a very simple example of an
    input and an output stream over the Internet.
*/
import java.io.*;
import java.net.*;

public class InternetEcho
{
   public static void main( String args[] )
   {
      try
      {
         // open a connection to a remote computer
         Socket theSocket = new Socket("nwi.calumet.purdue.edu", 7);
         // create a filtered input stream from the remote computer
         BufferedReader internetInput =
                 new BufferedReader(new InputStreamReader(theSocket.getInputStream()));
         // create a filtered output stream to the remote computer
         PrintStream internetOutput = new PrintStream( theSocket.getOutputStream() );
         // create a filtered input stream from the keyboard
         BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));

         System.out.println("Now echoing back from nwi.calumet.purdue.edu port 7.");
         while( true )
         {
            String oneLine = userInput.readLine();
            if ( oneLine.equals( "." ) ){ theSocket.close();  break; }
            // send the message over the Internet
            internetOutput.println( oneLine );
            // read a message back from the Internet
            oneLine = internetInput.readLine();
            System.out.println( oneLine );
         }
      }
      catch(UnknownHostException e){ e.printStackTrace();}
      catch(IOException e){ e.printStackTrace();}
   }//main

}//InternetEcho