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 ); } } }
|
[Anterior] [Indice] [Siguiente] |