Class NetUtil
java.lang.Object
io.netty.util.NetUtil
A class that holds a number of network-related constants.
This class borrowed some of its methods from a modified fork of the
Inet6Util class which was part of Apache Harmony.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final InetAddressTheInetAddressthat represents the loopback address.static final Inet4AddressTheInet4Addressthat represents the IPv4 loopback address '127.0.0.1'static final Inet6AddressTheInet6Addressthat represents the IPv6 loopback address '::1'static final NetworkInterfaceThe loopbackNetworkInterfaceof the current machinestatic final Collection<NetworkInterface> An unmodifiable Collection of all the interfaces on this machine.static final intThe SOMAXCONN value of the current machine. -
Method Summary
Modifier and TypeMethodDescriptionstatic StringbytesToIpAddress(byte[] bytes) Converts 4-byte or 16-byte data into an IPv4 or IPv6 string respectively.static StringbytesToIpAddress(byte[] bytes, int offset, int length) Converts 4-byte or 16-byte data into an IPv4 or IPv6 string respectively.static byte[]createByteArrayFromIpAddressString(String ipAddressString) Creates an byte[] based on an ipAddressString.static InetAddresscreateInetAddressFromIpAddressString(String ipAddressString) Creates anInetAddressbased on an ipAddressString or might return null if it can't be parsed.static Inet6AddressReturns theInet6Addressrepresentation of aCharSequenceIP address.static Inet6AddressgetByName(CharSequence ip, boolean ipv4Mapped) Returns theInet6Addressrepresentation of aCharSequenceIP address.static StringgetHostname(InetSocketAddress addr) ReturnsInetSocketAddress.getHostString().static StringintToIpAddress(int i) Converts a 32-bit integer into an IPv4 address.static intipv4AddressToInt(Inet4Address ipAddress) ConvertInet4Addressintointstatic booleanReturnstrueif IPv4 should be used even if the system supports both IPv4 and IPv6.static booleanReturnstrueif an IPv6 address should be preferred when a host has both an IPv4 address and an IPv6 address.static booleanTakes aCharSequenceand parses it to see if it is a valid IPV4 address.static booleanTakes aStringand parses it to see if it is a valid IPV4 address.static booleanstatic booleanstatic StringReturns theStringrepresentation of anInetAddress.static StringtoAddressString(InetAddress ip, boolean ipv4Mapped) Returns theStringrepresentation of anInetAddress.static StringtoSocketAddressString(String host, int port) Returns theStringrepresentation of a host port combo.static StringReturns theStringrepresentation of anInetSocketAddress.
-
Field Details
-
LOCALHOST4
TheInet4Addressthat represents the IPv4 loopback address '127.0.0.1' -
LOCALHOST6
TheInet6Addressthat represents the IPv6 loopback address '::1' -
LOCALHOST
TheInetAddressthat represents the loopback address. If IPv6 stack is available, it will refer toLOCALHOST6. Otherwise,LOCALHOST4. -
LOOPBACK_IF
The loopbackNetworkInterfaceof the current machine -
NETWORK_INTERFACES
An unmodifiable Collection of all the interfaces on this machine. -
SOMAXCONN
public static final int SOMAXCONNThe SOMAXCONN value of the current machine. If failed to get the value,200is used as a default value for Windows and128for others.
-
-
Method Details
-
isIpV4StackPreferred
public static boolean isIpV4StackPreferred()Returnstrueif IPv4 should be used even if the system supports both IPv4 and IPv6. Setting this property totruewill disable IPv6 support. The default value of this property isfalse.- See Also:
-
isIpV6AddressesPreferred
public static boolean isIpV6AddressesPreferred()Returnstrueif an IPv6 address should be preferred when a host has both an IPv4 address and an IPv6 address. The default value of this property isfalse.- See Also:
-
createByteArrayFromIpAddressString
Creates an byte[] based on an ipAddressString. No error handling is performed here. -
createInetAddressFromIpAddressString
Creates anInetAddressbased on an ipAddressString or might return null if it can't be parsed. No error handling is performed here. -
ipv4AddressToInt
ConvertInet4Addressintoint -
intToIpAddress
Converts a 32-bit integer into an IPv4 address. -
bytesToIpAddress
Converts 4-byte or 16-byte data into an IPv4 or IPv6 string respectively.- Throws:
IllegalArgumentException- iflengthis not4nor16
-
bytesToIpAddress
Converts 4-byte or 16-byte data into an IPv4 or IPv6 string respectively.- Throws:
IllegalArgumentException- iflengthis not4nor16
-
isValidIpV6Address
-
isValidIpV6Address
-
isValidIpV4Address
Takes aCharSequenceand parses it to see if it is a valid IPV4 address.- Returns:
- true, if the string represents an IPV4 address in dotted notation, false otherwise
-
isValidIpV4Address
-
getByName
Returns theInet6Addressrepresentation of aCharSequenceIP address.This method will treat all IPv4 type addresses as "IPv4 mapped" (see
getByName(CharSequence, boolean))- Parameters:
ip-CharSequenceIP address to be converted to aInet6Address- Returns:
Inet6Addressrepresentation of theipornullif not a valid IP address.
-
getByName
Returns theInet6Addressrepresentation of aCharSequenceIP address.The
ipv4Mappedparameter specifies how IPv4 addresses should be treated. "IPv4 mapped" format as defined in rfc 4291 section 2 is supported.- Parameters:
ip-CharSequenceIP address to be converted to aInet6Addressipv4Mapped-trueTo allow IPv4 mapped inputs to be translated intoInet6AddressfalseConsider IPv4 mapped addresses as invalid.
- Returns:
Inet6Addressrepresentation of theipornullif not a valid IP address.
-
toSocketAddressString
- Parameters:
addr-InetSocketAddressto be converted to an address string- Returns:
Stringcontaining the text-formatted IP address
-
toSocketAddressString
-
toAddressString
Returns theStringrepresentation of anInetAddress.- Inet4Address results are identical to
InetAddress.getHostAddress() - Inet6Address results adhere to rfc 5952 section 4
The output does not include Scope ID.
- Parameters:
ip-InetAddressto be converted to an address string- Returns:
Stringcontaining the text-formatted IP address
- Inet4Address results are identical to
-
toAddressString
Returns theStringrepresentation of anInetAddress.- Inet4Address results are identical to
InetAddress.getHostAddress() - Inet6Address results adhere to
rfc 5952 section 4 if
ipv4Mappedis false. Ifipv4Mappedis true then "IPv4 mapped" format from rfc 4291 section 2 will be supported. The compressed result will always obey the compression rules defined in rfc 5952 section 4
The output does not include Scope ID.
- Parameters:
ip-InetAddressto be converted to an address stringipv4Mapped-trueto stray from strict rfc 5952 and support the "IPv4 mapped" format defined in rfc 4291 section 2 while still following the updated guidelines in rfc 5952 section 4falseto strictly follow rfc 5952
- Returns:
Stringcontaining the text-formatted IP address
- Inet4Address results are identical to
-
getHostname
ReturnsInetSocketAddress.getHostString().- Parameters:
addr- The address- Returns:
- the host string
-