
import java.net.*;
import java.io.*;

class EchoClient
{
    public static void main( String[] args )
    {
        String remoteMachine = "www.cs.harvard.edu";
        int    port          = 7;
        DatagramSocket sock = null;
        String oneLine = null;

        try 
        {
            InetAddress remoteIP = InetAddress.getByName( remoteMachine );
            BufferedReader bin = new BufferedReader( new InputStreamReader( System.in ) );
            sock = new DatagramSocket( );
            sock.setSoTimeout( 5000 );
            
            System.out.print( "you> " );
            while( ( oneLine = bin.readLine( ) ) != null )
            {
                byte[] msg = oneLine.getBytes( ); 
                sock.send( new DatagramPacket( msg, msg.length, remoteIP, port ) );          
                
                byte[] reply = new byte[ msg.length ];
                DatagramPacket replyPack = new DatagramPacket( reply, reply.length );

                sock.receive( replyPack ); 
                System.out.print( "echo> " + new String( reply ) + "\nyou> ");
            }
        }
        catch( IOException e )
        {
            e.printStackTrace( );
        }
        finally
        {
            if( sock != null )
                sock.close( );
        }    
    }
}
