JAVA'da UDP'yi datagram ile göndermeye çalışıyorum ve makinemin farklı IP'leri olan birkaç NIC'si var.JAVA, birden çok (UDP) belirli NIC'yi seçer/seç
Paketimin hangi NIC'den gönderileceğini nasıl ayarlayabilirim ??
/*binding */
DatagramSocket ds = new DatagramSocket(1111);
NetworkInterface nif = NetworkInterface.getByIndex(nicIndex);
Enumeration<InetAddress> nifAddresses = nif.getInetAddresses();
ds.bind(new InetSocketAddress(nifAddresses.nextElement(), 0));
Ama:
DÜZENLEME Ben Soket kullanmıyorum
, ben DatagramSocket kullanarak ve denenmiş am şöyle bağlama yapmak için (ben makinede ?? üzerinde birden çok var varsayarak) Bunu yapıyorum, artık bağlanamıyorum (veya paketi alamıyorum ..).
DÜZENLEME .. Sorun 2 NIC olması, ancak bir İÇ ağ için ve diğeri ben bütün sunucu verileri İÇ birinde sadece gitmek gerekir .. İnternet için olan II
Açıklama için. Bu App bir sunucudur - ve SUNUCU 2 NICS vardır. bir LAN ve bir WAN için.
nasılsa bir yönlendirme belirtmek istiyorum benim için alternatif bir yol -
Nasıl JAVA böyle bir yönlendirme yapmak .. tam NIC Kullanılacak her paket söylemek istiyordum ??
Ben DatagramSocket sınıfı kullanıyorum, düzenleme okumak I – user1722362
Verdammt - eksik için özür dilerim. Bunu IP yönlendirmesine dayanmak yerine neden bu kodda çözmek istediğiniz konusunda biraz merak ediyorum. UDP paketinizi belirli bir IP'ye gönderiyorsanız ve bu sunucu iç ağda ise, IP yığını bu paketi doğru şekilde ilgili NIC arabirimi üzerinden otomatik olarak yönlendirmelidir. Yoksa daha fazla özledim mi? –
Ayrıca, numaralandırmadaki ilk öğenin her zaman sizin tercih ettiğiniz NIC olduğundan emin olabilirsiniz - geridöngü arabirimi veya bazı egzotik 6to4 tünel arabirimi nedir? –