cap15 menu+linea


SERVIDOR DE ECO

En el siguiente ejemplo, vamos a desarrollar un servidor similar al que se ejecuta sobre el puerto 7 de las máquinas Unix, el servidor echo. Básicamente, este servidor recibe texto desde un cliente y reenvía ese mismo texto al cliente. Desde luego, este es el servidor más simple de los simples que se pueden escribir. El ejemplo que presentamos, ecoServidor.java, maneja solamente un cliente. Una modificación interesante sería adecuarlo para que aceptase múltiples clientes simultáneos mediante el uso de threads.

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

class ecoServidor {
    public static void main( String args[] ) {
        ServerSocket s = null;
        DataInputStream sIn;
        PrintStream sOut;
        Socket cliente = null;
        String texto;

        // Abrimos una conexión con breogan en el puerto 9999
        // No podemos elegir un puerto por debajo del 1023 si no somos
        // usuarios con los máximos privilegios (root)
        try {
            s = new ServerSocket( 9999 );
        } catch( IOException e ) {
            }

        // Creamos el objeto desde el cual atenderemos y aceptaremos
        // las conexiones de los clientes y abrimos los canales de  
        // comunicación de entrada y salida
        try {
            cliente = s.accept();
            sIn = new DataInputStream( cliente.getInputStream() );
            sOut = new PrintStream( cliente.getOutputStream() );

            // Cuando recibamos datos, se los devolvemos al cliente
            // que los haya enviado
            while( true )
                {
                texto = sIn.readLine();
                sOut.println( texto );
                }
        } catch( IOException e ) {
            System.out.println( e );
            }
        }
    }
linea2
menu
Tutorial de Java
[Anterior] [Indice] [Siguiente]
1