режим многоадресной рассылки setLoopbackMode не влияет на Android

#android #multicastsocket

Вопрос:

Я использую multicastsocket для обнаружения локальной сети на Android, вот мой код:

         WifiManager wifiManager = (WifiManager) context.getApplicationContext()          
                                             .getSystemService(Context.WIFI_SERVICE);
        multicastLock = wifiManager.createMulticastLock("multicast.test");
        multicastLock.acquire();
        this.port = port;
        group = InetAddress.getByName(ip);
        sock = new MulticastSocket(port);
        sock.setTimeToLive(1);
        sock.setLoopbackMode(false);
        System.err.println("loop back: "   sock.getLoopbackMode());
        sock.setSoTimeout(3000);
        Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
        while (interfaces.hasMoreElements()) {
            networkInterface = interfaces.nextElement();
            if (networkInterface.getName().equals("wlan0")) {
                sock.joinGroup(new InetSocketAddress(group, port), networkInterface);
                return;
            }
        }
 

и, как вы видите, я вызываю sock.setLoopbackMode(false), чтобы предотвратить повторную передачу данных, но это не сработало.
Я называю прием таким образом:

         DatagramPacket receivePack = new DatagramPacket(receiveBytes,
                                                                receiveBytes.length);
        sock.receive(receivePack);
 

Я понятия не имею, почему setLoopbackMode(false) не сработал. Я все еще получаю данные о том, что отправляю.