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 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)
No hay comentarios:
Publicar un comentario