buenas tardes , deseo recibir o capturar los datos de un dispositivo que los manda a una direccion multicast , ya e leeido varios ejemplos , pero a la hora de implementar parace que no recibiera nada , e analizado las tramas con ayuda de wireshark y pareciera que me suscribo al grupo adecuadamente , adjunto al codigo , si alguien me puede ayudar o aportar un consejo gracias.
package clienteUDP;
import java.net.*;
import java.io.*;
public class ClienteUDP {
// Los argumentos proporcionan el mensaje y el nombre del servidor
public static void main(String args[]) {
// args[0] es el mensaje enviado al grupo y args[1] es la direccion del grupo
//Creamos un socket multicast en el puerto 10000:
MulticastSocket s;
try {
s = new MulticastSocket (2222);
//Configuramos el grupo (IP) a la que nos conectaremos:
InetAddress group = InetAddress.getByName ("239.192.2.32");
//Nos unimos al grupo:
s.joinGroup (group);
//Leemos los paquetes enviados por el servidor multicast:
String salida = new String();
while(!salida.equals("salir"))
{
// Los paquetes enviados son de 256 bytes de maximo
//(es adaptable)
byte [] buffer = new byte [256];
//Creamos el datagrama en el que recibiremos el paquete
//del socket:
DatagramPacket dgp = new DatagramPacket (buffer, buffer.length);
// Recibimos el paquete del socket:
s.receive (dgp);
// Adaptamos la información al tamaño de lo que se envió
//(por si se envió menos de 256):
byte [] buffer2 = new byte [dgp.getLength ()];
// Copiamos los datos en el nuevo array de tamaño adecuado:
System.arraycopy (dgp.getData (),0,buffer2,0,dgp.getLength ());
//Vemos los datos recibidos por pantalla:
salida = new String (buffer2);
System.out.println (salida);
}
//Salimos del grupo multicast
s.leaveGroup (group);
// Cerramos el socket:
s.close ();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[IMG][URL=http://img20.imagevenue.com/img.php?image=222190679_multicast_122_215lo.jpg][IMG]http://img20.imagevenue.com/loc215/th_222190679_multicast_122_215lo.jpg[/IMG][/URL][/IMG]
les explico de la direcion 192.168.2.10 manda a multicas a la direccion 239.192.2.39
¿no se si uno se deba suscribir al grupo antes que se inicie el envio multicast o pueda despues??