devxlogo

InetAdress.getAllByName

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 isfor the dialup connection. I need to get the dial up connection’s IPaddress because the LAN’s IP address is only known by the localnetwork. Is there a way to determine which IP is which? Are theyordered or something?

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

See also  Why ChatGPT Is So Important Today
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist