Saltar la navegación

1.5.1.- Ejemplo I (II).

A modo de ejemplo, vamos a ver un ejemplo sencillo en el que el servidor va a aceptar tres clientes (de forma secuencial no concurrente) y le va a indicar el número de cliente que es.

Servidor.java

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

class Servidor {
    static final int Puerto=2000;

    public Servidor( ) {
    try {
        ServerSocket sServidor = new ServerSocket(Puerto);
        System.out.println("Escucho el puerto " + Puerto );

        for ( int nCli = 0; nCli < 3; nCli++) {
            Socket sCliente = sServidor.accept(); 
     System.out.println("Sirvo al cliente " + nCli);
     DataOutputStream flujo_salida= new DataOutputStream(sCliente.getOutputStream());

     flujo_salida.writeUTF( "Hola cliente " + nCli );
     sCliente.close();
        }
        System.out.println("Se han atendido los clientes");
    } catch( Exception e ) {
        System.out.println( e.getMessage() );
    }
}

public static void main( String[] arg ) {
     new Servidor();
}

}

Para compilar el programa ejecute:

javac Servidor.java

y para ejecutarlo ejecute

 java Servidor

En la siguiente figura se muestra al servidor como ha procesado las solicitudes de tres clientes.

Captura de pantalla que muestra el resultado de la ejecución de tres clientes en el terminal del sistema.
java Cliente