Urządzenie z Androidem nie odbierające pakietu multicast

Zajmuję się tworzeniem aplikacji do czatu, w której klienci z systemem Android będą wymieniać swoje adresy IP za pomocą multiemisji (UDP).

Każde urządzenie wyśle ​​swoje IP do wielu klientów (wszystkie urządzenia z tą aplikacją) w jednym osobnym Wątku. Będzie inny wątek odbiornika, który będzie nasłuchiwał pakietów multiemisji. Oto mój kod.

// Kod multiemisji.

DatagramSocket socket = new DatagramSocket(9898);
            byte buff[] = ip.getBytes();
            DatagramPacket packet = new DatagramPacket(buff, buff.length, InetAddress.getByName("224.0.0.1"),9999);
            socket.send(packet);
            socket.close();

// Kod odbiorcy

MulticastSocket socket = new MulticastSocket(9999);
        InetAddress group = InetAddress.getByName("224.0.0.1");
        socket.joinGroup(group);

        DatagramPacket packet;

            byte[] buf = new byte[256];
            byte  b = 'x'; //just a separator for time being
            Arrays.fill(buf,b);
            packet = new DatagramPacket(buf, buf.length);
            String received= "";
            while(received!=null)
            {
                socket.receive(packet);
                received = new String(packet.getData());
                received = received.substring(0,received.indexOf('x'));
                this.setIp(received);
                System.out.println("Address: " + received);
            }

        socket.leaveGroup(group);
        socket.close();

Problem polega na tym, że każde urządzenie drukuje swój własny adres. Wygląda na to, że nigdy nie słucha innych pakietów multiemisji (mam na myśli, że powinien również drukować inne IP). Dostaję także poniższy dziennik, nie jestem pewien, czy to jest powiązane.

11-04 23:56:17.985: I/OSNetworkSystem(603): mcastAddDropMembership interfaceIndex=0

Każda pomoc zostanie doceniona.

questionAnswers(2)

yourAnswerToTheQuestion