Creación de Streams de Entrada
En la parte cliente de la aplicación, se puede utilizar
la clase DataInputStream para crear un stream de entrada
que esté listo a recibir todas las respuestas que el servidor
le envíe.
DataInputStream entrada; try { entrada = new DataInputStream( miCliente.getInputStream() ); } catch( IOException e ) { System.out.println( e ); }
La clase DataInputStream permite la lectura de líneas
de texto y tipos de datos primitivos de Java de un modo altamente
portable; dispone de métodos para leer todos esos tipos
como: read(), readChar(), readInt(), readDouble()
y readLine(). Deberemos utilizar la función que
creamos necesaria dependiendo del tipo de dato que esperemos
recibir del servidor.
En el lado del servidor, también usaremos DataInputStream,
pero en este caso para recibir las entradas que se produzcan de
los clientes que se hayan conectado:
DataInputStream entrada; try { entrada = new DataInputStream( socketServicio.getInputStream() ); } catch( IOException e ) { System.out.println( e ); }
En el lado del cliente, podemos crear un stream de salida para
enviar información al socket del servidor utilizando las
clases PrintStream o DataOutputStream:
PrintStream salida; try { salida = new PrintStream( miCliente.getOutputStream() ); } catch( IOException e ) { System.out.println( e ); }
La clase PrintStream tiene métodos para la representación
textual de todos los datos primitivos de Java. Sus métodos
write y println() tienen una especial importancia
en este aspecto. No obstante, para el envío de información
al servidor también podemos utilizar DataOutputStream:
DataOutputStream salida; try { salida = new DataOutputStream( miCliente.getOutputStream() ); } catch( IOException e ) { System.out.println( e ); }
La clase DataOutputStream permite escribir cualquiera de
los tipos primitivos de Java, muchos de sus métodos escriben
un tipo de dato primitivo en el stream de salida. De todos esos
métodos, el más útil quizás sea writeBytes().
En el lado del servidor, podemos utilizar la clase PrintStream
para enviar información al cliente:
PrintStream salida; try { salida = new PrintStream( socketServicio.getOutputStream() ); } catch( IOException e ) { System.out.println( e ); }
Pero también podemos utilizar la clase DataOutputStream
como en el caso de envío de información desde el
cliente.
|
[Anterior] [Indice] [Siguiente] |