Java - многоадресные интерфейсы UDP: много IP-адресов

Я написал Multicast Local Server и обнаружил несколько сетевых интерфейсов. Таким образом, каждое сообщение от клиента отправляется на сервер один раз для каждого интерфейса, что приводит к тому, что одно и то же сообщение отправляется множество раз.

Это код:

Enumeration<NetworkInterface> faces = NetworkInterface.getNetworkInterfaces();

    while (faces.hasMoreElements()) {
        NetworkInterface iface = faces.nextElement();
        if (iface.isLoopback() || !iface.isUp())
            continue;

        Enumeration<InetAddress> addresses = iface.getInetAddresses();

        while (addresses.hasMoreElements()) {
            InetAddress addr = addresses.nextElement();
            socket.setInterface(addr);
            socket.send(sending);
        }
    }

Как я могу определить, когда сообщение было отправлено (и достигло сервера), чтобы сообщения были отправлены только один раз? Есть идеи?

Благодарю.

0 ответов

Другие вопросы по тегам