External Interfaces/API    

Example - Finding an Internet Protocol Address

The resolveip function returns either the name or address of an IP (internet protocol) host. If you pass resolveip a hostname, it returns the IP address. If you pass resolveip an IP address, it returns the hostname. The function uses the Java API class java.net.InetAddress, which enables you to find an IP address for a hostname, or the hostname for a given IP address, without making DNS calls.

resolveip calls a static method on the InetAddress class to obtain an InetAddress object. Then, it calls accessor methods on the InetAddress object to get the hostname and IP address for the input argument. It displays either the hostname or the IP address, depending on the program input argument.

Description of resolveip

The major tasks performed by resolveip are:

1. Create an InetAddress Object

Instead of constructors, the java.net.InetAddress class has static methods that return an instance of the class. The try statement calls one of those methods, getByName, passing the input argument that the user has passed to resolveip. The input argument can be either a hostname or an IP address. If getByName fails, the catch statement displays an error message.

2. Retrieve the Hostname and IP Address

The example uses calls to the getHostName and getHostAddress accessor functions on the java.net.InetAddress object, to obtain the hostname and IP address, respectively. These two functions return objects of class java.lang.String, so we use the char function to convert them to character arrays.

3. Display the Hostname or IP Address

The example uses the MATLAB strcmp function to compare the input argument to the resolved IP address. If it matches, MATLAB displays the hostname for the internet address. If the input does not match, MATLAB displays the IP address.

Running the Example

Here is an example of calling the resolveip function with a hostname.

Here is a call to the function with an IP address.

  Example - Reading a URL Example - Communicating Through a Serial Port