Multicast en Java (I)

El Multicast es un método de direccionamiento IP. Una dirección multicast está asociada con un grupo de receptores interesados. De acuerdo al RFC 3171 las direcciones desde la 224.0.0.0 a la 239.255.255.255 están destinadas para ser direcciones de multicast. Este rango se llama formalmente "Clase D". El emisor envía un único datagrama (desde la dirección unicast del emisor) a la dirección multicast y el router se encargará de hacer copias y enviarlas a todos los receptores que hayan informado de su interés por los datos de ese emisor.

Esquema general Multicast en Java
El esquema que sigue para el servidor y el cliente es el siguiente. En entradas posteriores dejaré un ejemplo de cada uno de ellos:

El Servidor:
//Creamos el MulticastSocket sin especificar puerto.
MulticastSocket s = new MulticastSocket ();

//Creamos el grupo multicast:
InetAddress group = InetAddress.getByName ("231.0.0.1");

// Creamos un datagrama vacío en principio:
byte [] vacio = new byte [0];

//Crear el Datagrama (mensaje, tamaño msj, grupo Multicast y puerto):
DatagramPacket dgp = new DatagramPacket (vacio, 0, group, 10000);

//Enviamos el paquete
s.send (dgp);


//Cerramos el socket:
s.close ();

El Cliente:
//Creamos un socket multicast en el puerto 10000:
MulticastSocket s = new MulticastSocket (10000);

//Configuramos el grupo (IP) a la que nos conectaremos:
InetAddress group = InetAddress.getByName ("231.0.0.1");

//Nos unimos al grupo:
s.joinGroup (group);

// Recibimos el paquete del socket:
DatagramPacket dgp = new DatagramPacket (buffer, buffer.length);
s.receive (dgp);

//Salimos del grupo multicast
s.leaveGroup (group);

// Cerramos el socket:
s.close (); 

Continuar leyendo en Multicast en Java (II)
Share:
spacer

No hay comentarios:

Publicar un comentario