Saltar la navegación

3.3.- Ejemplo.

Ilustración de un ordenador.

A continuación, para aprender a programar Sockets UDP se va a realizar un ejemplo sencillo donde intervienen dos procesos:

  • ReceptorUDP. Inicia el puerto 1500 y muestra en pantalla todos los mensajes que llegan a él.
  • EmisorUDP. Permite enviar por líneas de comandos mensajes al receptor por el puerto 1500.

ReceptorUDP.java

import java.net.*; 
import java.io.*; 
 
public class ReceptorUDP { 
  public static void main(String args [] ) { 
    // Sin argumentos 
    if (args.length != 0) { 
      System.err.println("Uso: java ReceptorUDP"); 
    } 
    else try{ 
      // Crea el  socket 
      DatagramSocket sSocket = new DatagramSocket(1500); 
 
      // Crea el espacio para los mensajes 
      byte [] cadena = new byte[1000] ; 
      DatagramPacket mensaje = new DatagramPacket(cadena, cadena.length); 
 
      System.out.println("Esperando mensajes..");
      while(true){
           // Recibe y muestra el mensaje 
           sSocket.receive(mensaje); 
           String datos=new String(mensaje.getData(),0,mensaje.getLength());
           System.out.println("\tMensaje Recibido: " +datos);
      }
    } catch(SocketException e) { 
      System.err.println("Socket: " + e.getMessage()); 
    } catch(IOException e) { 
      System.err.println("E/S: " + e.getMessage()); } 
  } 
}