Java でデータグラムを使用して UDP を送信しようとしていますが、マシンには異なる IP を持つ複数の NIC があります。
どの NIC からパケットを送信するかを設定するにはどうすればよいですか?? (マシンに複数あると仮定しますか??)
編集私
私はソケットを使用していません。私は DatagramSocket を使用しており、次のようにバインドしようとしました:
/*binding */
DatagramSocket ds = new DatagramSocket(1111);
NetworkInterface nif = NetworkInterface.getByIndex(nicIndex);
Enumeration<InetAddress> nifAddresses = nif.getInetAddresses();
ds.bind(new InetSocketAddress(nifAddresses.nextElement(), 0));
しかし、そうするともう接続できません(またはパケットを取得できません..)。問題は、2 つの NIC があることですが、1 つは内部ネットワーク用で、もう 1 つはインターネット用です。すべてのサーバー データを内部ネットワークにのみ移動する必要があります。
編集Ⅱ
明確にするために 。このアプリはサーバーであり、サーバーには 2 つの NIC があります。1 つは LAN 用、もう 1 つは WAN 用です。
私にとって別の方法は、ROUTING を何らかの方法で指定することです。つまり、各パケットにどの NIC を使用するかを正確に伝えることです..
JAVAでそのようなルーティングを行うには??