J'essaie d'envoyer un datagramme UDP en JAVA et ma machine a plusieurs NIC avec des IP différentes.
Comment puis-je définir la carte réseau à partir de laquelle je veux que mon paquet soit envoyé (en supposant que j'en ai plusieurs sur la machine) ?
EDIT I
Je n'utilise pas Socket, mais DatagramSocket et j'ai essayé de faire la liaison comme suit :
/*binding */
DatagramSocket ds = new DatagramSocket(1111);
NetworkInterface nif = NetworkInterface.getByIndex(nicIndex);
Enumeration<InetAddress> nifAddresses = nif.getInetAddresses();
ds.bind(new InetSocketAddress(nifAddresses.nextElement(), 0));
Mais lorsque je fais cela, je ne peux plus me connecter ou je ne peux pas obtenir le paquet ). Le problème est que j'ai 2 NIC, mais l'une est pour le réseau INTERNE et l'autre pour Internet . J'ai besoin que toutes les données de mon serveur aillent uniquement sur le réseau INTERNE
EDIT II
Pour plus de clarté . Cette application est un serveur - et le SERVEUR a 2 NICS . un LAN et un WAN.
Une autre solution serait de spécifier un routage d'une manière ou d'une autre, c'est-à-dire d'indiquer à chaque paquet quelle carte réseau utiliser
Comment faire un tel routage en JAVA ?