Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Beginner
Apr 7, 2000

InetAdress.getAllByName

Question:
When I use InetAdress.getAllByName(String host) on my workstation, I get two IP addresses. One is for the LAN connection and the other is for the dialup connection. I need to get the dial up connection's IP address because the LAN's IP address is only known by the local network. Is there a way to determine which IP is which? Are they ordered or something?

Answer:
Unfortunately, the order in which the IP addresses are returned is platform dependent. You cannot rely on the primary network interface being listed first all of the time. However, when writing network client or server applications, if you do not bind to a specific interface your application will work across both interfaces. If you have a client application that is already connected, you can always determine the interface it is on by calling Socket.getLocalAddress(). But if you really need to know which IP address corresponds to which interface, you can always write some native code or use Runtime.exec() to execute a local utility such as ifconfig (Unix) and parse the output.

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap