Servidor UDP. Código JAVA

En el siguiente ejemplo, se desarrolla un mínimo servidor UDP. La aplicación servidor UDP depende de una clase de comunicaciones proporcionada por Java: DatagramSocket Esta clase realiza la mayor parte del trabajo de crear el socket. El servidor implementado escucha por el puerto de comunicaciones 8050, cuando le llega un datagrama procedente de algún cliente, imprime la dirección del cliente, y el puerto por la salida estandar del sistema, y luego envia un datagrama que contiene la fecha del sistema.


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


public class ServerTime{
public static void main(String[] args) throws IOException {
//el puerto de escucha del servidor será el 8050
int PUERTO=8050;

byte msg[]=new byte[1024];

//Creamos el socket UDP del servidor en el pueto asociado
DatagramSocket s = new DatagramSocket(PUERTO);
System.out.println("Servidor Activo");

//implementacion del protocolo del servidor en un bucle infinito
while (true) {
DatagramPacket recibido = new DatagramPacket(new byte [1024],1024);

//llega un datagrama
s.receive(recibido);
System.out.println("Ha llegado una peticion \n");
System.out.println("Procedente de :" + recibido.getAddress());
System.out.println("En el puerto :" + recibido.getPort());
System.out.println("Sirviendo la petición");

//se prepara el mensaje a enviar con la fecha del sistema
String message=new String("HORA DEL SERVIDOR " + new Date());
msg=message.getBytes();

//se crea el datagrama que contendrá al mensaje
DatagramPacket paquete=new DatagramPacket(msg,msg.length,recibido.getAddress(),

recibido.getPort());

//se le envia al cliente
s.send(paquete);

}
} }

Para poder ejecutar el servidor, siga las siguientes instrucciones:

  • Seleccione el código de esta página y péguelo en un documento de texto normal, al que salvara con el nombre: ServerTime.java
  • Instale el jdk 1.3 o superior de Sun.En la página Enlaces encontrará la dirección.
  • Compile el fichero mediante la utilidad javac, para ello escriba la siguiente orden en su linea de comandos : javac ServerTime.java
  • Por último, lanze la ejecución del servidor mediante la orden: java ServerTime

Puede comprobar el funcionamiento del servidor mediante el uso del programa cliente que se expone en este tutorial.

.