##
CREACION DE STREAMS

#### 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 );
            }

#### Creación de Streams de Salida

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]