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);
}
}
Как я могу определить, когда сообщение было отправлено (и достигло сервера), чтобы сообщения были отправлены только один раз? Есть идеи?
Благодарю.