En el caso de querer iniciar el socket en un determinado puerto se realiza de la siguiente forma:
DatagramSocket sSocket = new DatagramSocket(puerto);
Una vez iniciado el socket ya estamos en disposición de recibir mensajes utilizando la clase DatagramPacket
. Cuando se recibe o envía un paquete se hace con la siguiente información: mensaje, longitud del mensaje, equipo y puerto.
A continuación se muestra un código de ejemplo para recibir un mensaje:
byte [] cadena = new byte[1000] ;
DatagramPacket mensaje = new DatagramPacket(cadena, cadena.length);
sSocket.receive(mensaje);
Una vez recibido el mensaje puede mostrar su contenido de la siguiente forma:
String datos=new String(mensaje.getData(),0,mensaje.getLength());
System.out.println("\tMensaje Recibido: " +datos);
Finalmente, una vez terminado el programa cerramos el socket:
sSocket.close();