Android-устройство не получает многоадресный пакет

Я занимаюсь разработкой приложения для чата, в котором клиенты Android будут обмениваться своими IP-адресами ».с использованием многоадресной рассылки (UDP).

Каждое устройство отправит свой ip нескольким клиентам (всем устройствам, на которых запущено это приложение) в одном отдельном потоке. Будет другой поток-получатель, который будет прослушивать эти многоадресные пакеты. Вот мой код

// Многоадресный код.

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();

// Код получателя

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();

Проблема в том, что каждое устройство печатает свой адрес. Кажется, он никогда не слушает другие многоадресные пакеты (я имею в виду, что он должен печатать другие ip 'а также). Я также получаю журнал ниже, не уверен, что это 'связаны.

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

Любая помощь будет оценена.

Ответы на вопрос(2)

Ваш ответ на вопрос