Inet6Address.getByAddress(String, byte[], NetworkInterface) in Java

Inet6Address.getByAddress(String, byte[], NetworkInterface): This method is available in the java.net.Inet6Address class of Java.

Syntax:

Inet6Address java.net.Inet6Address.getByAddress(String host, byte[] addr, NetworkInterface nif) throws UnknownHostException

This method takes three arguments. This method creates an Inet6Address in the exact manner of InetAddress.getByAddress(String, byte []) except that the IPv6 scope_id is set to the value corresponding to the given interface for the address type specified in addr.

Parameters: Three parameters are required for this method.

host: the specified host.

addr: the raw IP address in network byte order.

nif: an interface this address must be associated with.

Returns: an Inet6Address object created from the raw IP address.

Throws:

1. UnknownHostException - if the IP address is of illegal length, or if the interface does not have a numeric scope_id assigned for the given address type.

Approach 1: When no exception

Java

package com.Inet6Address;

import java.net.Inet6Address;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;

public class Inet6AddressgetByAddress2 {
    public static void main(String[] args)
throws UnknownHostException, SocketException {

        String host = "[beingcodeexpert.blogspot.com]";
        byte addr[] = { 12, 34, 56, 1, 3, 4, 5,
6, 67, 7, 8, 8, 9, 5, 6, 7 };
        int index = 1;
        NetworkInterface nif =
NetworkInterface.getByIndex(index);
        Inet6Address inet6Address =
Inet6Address.getByAddress(host, addr, nif);

        System.out.println(inet6Address);
    }
}

Output:

beingcodeexpert.blogspot.com/c22:3801:304:506:4307:808:905:607%lo


Approach 2: UnknownHostException

Java

package com.Inet6Address;

import java.net.Inet6Address;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;

public class Inet6AddressgetByAddress2 {
    public static void main(String[] args)
throws UnknownHostException, SocketException {

        String host = "[beingcodeexpert.blogspot.com]";
        byte addr[] = { 12, 34, 56, 1, 3, 4, 5, 6,
67, 7, 8, 8, 9, 5, 6 };
        int index = 1;
        NetworkInterface nif =
NetworkInterface.getByIndex(index);
        Inet6Address inet6Address =
Inet6Address.getByAddress(host, addr, nif);

        System.out.println(inet6Address);
    }
}

Output:

Exception in thread "main" java.net.UnknownHostException: addr is of illegal length at java.base/java.net.Inet6Address.getByAddress(Inet6Address.java:442) at com.Inet6Address.Inet6AddressgetByAddress2.main(Inet6AddressgetByAddress2.java:15)


Some other methods of Inet6Address class

equals(Object)This method compares this object against the specified object. The result is true if and only if the argument is not null and it represents the same IP address as this object.

getAddress()This method returns the raw IP address of this InetAddress object.

Inet6Address.getByAddress(String, byte[], int)This method creates an Inet6Address in the exact manner of InetAddress.getByAddress(String, byte []) except that the IPv6 scope_id is set to the given numeric value. The scope_id is not checked to determine it corresponds to any interface on the system.

Inet6Address.getByAddress(String, byte[], NetworkInterface)This method creates an Inet6Address in the exact manner of InetAddress.getByAddress(String, byte []) except that the IPv6 scope_id is set to the value corresponding to the given interface for the address type specified in addr.

getHostAddress()This method returns the IP address string in textual presentation.

getScopedInterface()This method would return the scoped interface if this instance was created with a scoped interface.

getScopeId()This method returns the numeric scopeId if this instance is associated with an interface.

hashCode()This method returns a hashcode for this IP address.

isAnyLocalAddress()Utility routine to check if the InetAddress is a wildcard address.

isIPv4CompatibleAddress()Utility routine to check if the InetAddress is an IPv4-compatible IPv6 address.

isLinkLocalAddress()Utility routine to check if the InetAddress is a link-local address.

isLoopbackAddress()Utility routine to check if the InetAddress is a loopback address.

isMCGlobal()Utility routine to check if the multicast address has global scope.

isMCLinkLocal()Utility routine to check if the multicast address has link scope.

isMCNodeLocal()Utility routine to check if the multicast address has node scope.

isMCOrgLocal()Utility routine to check if the multicast address has organization scope.

isMCSiteLocal()Utility routine to check if the multicast address has site scope.

isMulticastAddress()Utility routine to check if the InetAddress is an IP multicast address.

isSiteLocalAddress()Utility routine to check if the InetAddress is a site-local address.

No comments:

Post a Comment