Document related concepts
no text concepts found
Transcript
/*****************************************************************************/ /*** SimpleEchoClient.java ***/ /*** ***/ /*****************************************************************************/ import java.net.*; import java.io.*; public class SimpleEchoClient { public static void main(String[] args) { try //necesario para compilar el código (captura excepciones) { Socket s = new Socket("127.0.0.1", 9999); // La creación del socket se realiza de la siguiente manera: // Socket s = new Socket(String Hostname, int PortNum); // Socket s = new Socket(InetAddr Addr, int PortNum); // Cuando JVM crea el objeto, asigna un numero de puerto local, realiza // la conversión del orden de bytes de red y conecta con el servidor. // Incluso puede especificar la interfaz de red local y el puerto a utilizar con las // siguientes extensiones: // Socket s = new Socket(String Hostname, int PortNum, InetAddr localAddr, Int localPort); // Socket s = new Socket(InetAddr Addr, int PortNum, InetAddr localAddr, Int localPort); // A pesar de haber creado el socket, el programa no puede enviar o // recibir datos directamente a través de esta clase. Obtenga el // InputStream o el OutputStream desde la instancia de la clase. InputStream i = s.getInputStream(); OutputStream o = s.getOutputStream(); // Utilizando estos dos méntodos puede leer o escribir arrays de bytes. String str; do { byte[] line = new byte[100]; System.in.read(line); // lee datos desde el teclado o.write(line); // envía el mensaje i.read(line); // lee el mensaje recibido str = new String(line); // Convierte el mensaje a cadena System.out.println(str.trim()); //Imprime el mensaje } while ( !str.trim().equals("bye") ); s.close(); // Cierra la conexión } catch (Exception err) // necesario para compilar el código (captura excepciones) { System.err.println(err); // necesario para compilar el código // (captura excepciones) } } } // Este programa es un simple cliente de echo que envía mensajes de una terminal, toma el echo enviado por el servidor y lo imprime para visualización. Este programa termina escribiendo el mensaje “bye”