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] |