|  
              The java.net.InetAddress 
                class represents IP addresses. 
                It works with either the hostname (e.g. www.kth.se) 
                or the numerical IP address (e.g. 64.124.81.56) of an Internet 
                host. InetAddress 
                class offers a number of useful methods for dealing with hostnames 
                and IP addresses.
 The demo programs below illustrate some of the capabilities of 
                the InetAddress class.
 
 The applet LocalAddress 
                displays the local host and IP address. Note that the SecurityManager 
                in the browser JVM may block access to this information. You can 
                try it in the appletviewer tool or run it as an application.  
                
                   
                    |  |   
                    | import 
                      java.applet.*; import java.awt.*;
 import java.net.*;
 
 /** Show how InetAddress can provide the local IP address.**/
 public class LocalAddress extends Applet
 {
 String fMessage = "";
 
 /**
 * Create an instance of InetAddress 
                      for the
 * local host and display the local 
                      IP address.
 **/
 public void init () {
 try {
 InetAddress local_Address 
                      =
 InetAddress.getLocalHost ();
 fMessage ="Local IP 
                      address = " +
 local_Address.toString ();
 }
 catch  (UnknownHostException 
                      e) {
 fMessage ="Unable to 
                      obtain local IP address";
 }
 System.out.println (fMessage);
 } // init
 
 /** Paint IP info in Applet window. **/
 public void paint (Graphics g) {
 g.drawString (fMessage,20,20);
 }
 
 /** Print out the local address in app mode.**/
 public static void main (String [] args) {
 LocalAddress applet =
 new LocalAddress ();
 applet.init ();
 } // main
 
 } // Class LocalAddress
 |    This application returns the IP address if given 
                a host name, or returns the host name if given the IP address: 
                
                
                   
                    | TranslateAddress |   
                    | import 
                        java.net.*;
 /** Translate an IP argument to a host name or
 * a host name to an IP address.
 **/
 class TranslateAddress {
 
 public static void main  (String 
                        args[])
 {
 
 // Look for command line argument
 if (args.length != 1) {
 System.out.println 
                        ("Error! No IP or host name address");
 System.out.println 
                        ("Usage: java TranslateAddress java.sun.com");
 System.out.println 
                        ("    or java TranslateAddress 209.249.116.143");
 System.exit (0);
 }
 
 try  {
 // When the argument 
                        passed is a host name  (e.g. sun.com),
 // the corresponding 
                        IP address is returned. If passed
 // an IP address, 
                        then only the IP address is returned.
 InetAddress address 
                        = InetAddress.getByName (args[0]);
 System.out.println 
                        ("Address " + args[0] + " = " + address);
 
 // To get the hostname 
                        when passed an IP address use
 // getHostName (), 
                        which will return the host name string.
 System.out.println 
                        ("Name of " + args[0] + " = " +
 address.getHostName 
                        ());
 } catch  (UnknownHostException 
                        e) {
 System.out.println 
                        ("Unable to translate the address.");
 }
 } // main
 
 } // class TranslateAddress
 |    Example runs of this program:  
               
                c:\> java TranslateAddress gluon.particle.kth.comAddress gluon.particle.kth.se = gluon.particle.kth.se/130.237.34.133
 Name of gluon.particle.kth.se = gluon.particle.kth.se
 
 c:\> java TranslateAddress 130.237.34.133
 Address 130.237.34.133 = /130.237.34.133
 Name of 130.237.34.133 = gluon.particle.kth.se
  
              Note that getByName(String 
                str) returns an instance of InetAddress 
                when given a host name. Then when this objects converts to a string 
                it displays the HostName/IP_Address 
                pair. However, when given an IP address the resulting InetAddress 
                object does not show the host name. Instead you must use the the 
                getHostName() 
                method to obtain the hostname. References and Web Resources Latest update: Dec. 8, 2004 |