我已经编写了一个多播本地服务器,并且正在检测多个网络接口。这样,来自客户端的每条消息都会在每个接口中发送到服务器一次,从而导致同一条消息被发送多次。
这是代码:
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);
}
}
如何检测消息何时已通过(到达服务器)发送,因此消息仅发送一次?有什么想法吗?
谢谢。