APIdia Launch Partner
Top Fields Constructors Methods
sun.nio.ch

public Class Net

extends Object
Class Inheritance
Imports
java.io.FileDescriptor, .IOException, java.net.Inet4Address, .Inet6Address, .InetAddress, .InetSocketAddress, .NetworkInterface, .ProtocolFamily, .SocketAddress, .SocketException, .SocketOption, .StandardProtocolFamily, .StandardSocketOptions, .UnknownHostException, java.nio.channels.AlreadyBoundException, .AlreadyConnectedException, .ClosedChannelException, .NotYetBoundException, .NotYetConnectedException, .UnresolvedAddressException, .UnsupportedAddressTypeException, java.util.Enumeration, .Objects, java.lang.LazyConstant, java.util.function.Supplier, sun.net.ext.ExtendedSocketOptions, sun.net.util.IPAddressUtil

Field Summary

Modifier and TypeField and Description
private static final InetAddress
private static final InetAddress
private static final boolean
pack-priv static final ExtendedSocketOptions
private static final boolean
private static final InetAddress
private static final InetAddress
private static final boolean
public static final short
public static final short
public static final short
public static final short
POLLIN

Event masks for the various poll system calls.

public static final short
public static final short
public static final int
public static final int
public static final int
private static final LazyConstant<Boolean>
private static final boolean
pack-priv static final ProtocolFamily

Constructor Summary

AccessConstructor and Description
private
Net()

Method Summary

Modifier and TypeMethod and Description
public static native int
pack-priv static Inet4Address
anyInet4Address(final NetworkInterface interf)

Returns any IPv4 address of the given network interface, or null if the interface does not have any IPv4 addresses.

pack-priv static InetAddress
anyLocalAddress(ProtocolFamily family)

Returns the wildcard address that corresponds to the given protocol family.

pack-priv static InetSocketAddress
pack-priv static native int
available(FileDescriptor fd)

Return the number of bytes in the socket input buffer.

public static void
bind(FileDescriptor fd, InetAddress addr, int port)

pack-priv static void
bind(ProtocolFamily family, FileDescriptor fd, InetAddress addr, int port)

private static native void
bind0(FileDescriptor fd, boolean preferIPv6, boolean useExclBind, InetAddress addr, int port)

pack-priv static int
block4(FileDescriptor fd, int group, int interf, int source)

Block IPv4 source

pack-priv static int
block6(FileDescriptor fd, byte[] group, int index, byte[] source)

Block IPv6 source

private static native int
blockOrUnblock4(boolean block, FileDescriptor fd, int group, int interf, int source)

pack-priv static native int
blockOrUnblock6(boolean block, FileDescriptor fd, byte[] group, int index, byte[] source)

pack-priv static boolean
canIPv6SocketJoinIPv4Group()

Tells whether IPv6 sockets can join IPv4 multicast groups

private static native boolean
pack-priv static boolean
canJoin6WithIPv4Group()

Tells whether join6 can be used to join an IPv4 multicast group (IPv4 group as IPv4-mapped IPv6 address)

private static native boolean
pack-priv static boolean
canUseIPv6OptionsWithIPv4LocalAddress()

Tells whether IPV6_XXX socket options should be used on an IPv6 socket that is bound to an IPv4 address.

private static native boolean
public static InetSocketAddress
pack-priv static InetSocketAddress
pack-priv static int
connect(FileDescriptor fd, InetAddress remote, int remotePort)

pack-priv static int
connect(ProtocolFamily family, FileDescriptor fd, InetAddress remote, int remotePort)

pack-priv static int
private static native int
connect0(boolean preferIPv6, FileDescriptor fd, InetAddress remote, int remotePort)

pack-priv static native boolean
discardOOB(FileDescriptor fd)

Read and discard urgent data (MSG_OOB) on the socket.

pack-priv static void
drop4(FileDescriptor fd, int group, int interf, int source)

Drop membership of IPv4 multicast group

pack-priv static void
drop6(FileDescriptor fd, byte[] group, int index, byte[] source)

Drop membership of IPv6 multicast group

pack-priv static native int
pack-priv static native int
private static native int
getIntOption0(FileDescriptor fd, boolean mayNeedConversion, int level, int opt)

pack-priv static Object
pack-priv static Object
pack-priv static int
inet4AsInt(InetAddress ia)

Returns an IPv4 address as an int.

pack-priv static InetAddress
inet4FromInt(int address)

Returns an InetAddress from the given IPv4 address represented as an int.

pack-priv static InetAddress
pack-priv static byte[]
inet6AsByteArray(InetAddress ia)

Returns an IPv6 address as a byte array

pack-priv static InetAddress
private static native void
private static native int
private static boolean
pack-priv static boolean
isIPv6Available()

Tells whether dual-IPv4/IPv6 sockets should be used.

private static native boolean
pack-priv static boolean
isReusePortAvailable()

Tells whether SO_REUSEPORT is supported.

private static native boolean
pack-priv static int
join4(FileDescriptor fd, int group, int interf, int source)

Join IPv4 multicast group

pack-priv static int
join6(FileDescriptor fd, byte[] group, int index, byte[] source)

Join IPv6 multicast group

private static native int
joinOrDrop4(boolean join, FileDescriptor fd, int group, int interf, int source)

private static native int
joinOrDrop6(boolean join, FileDescriptor fd, byte[] group, int index, byte[] source)

pack-priv static native void
listen(FileDescriptor fd, int backlog)

public static InetSocketAddress
private static native InetAddress
private static native int
private static SocketException
pack-priv static native int

Returns:

the polled events or 0 if no events are polled
poll
(FileDescriptor fd, int events, long
the timeout to wait; 0 to not wait, -1 to wait indefinitely
timeout
)

Polls a file descriptor for events.

public static native boolean

Returns:

true if connected
pollConnect
(FileDescriptor fd, long
the timeout to wait; 0 to not wait, -1 to wait indefinitely
timeout
)

Polls a connecting socket to test if the connection has been established.

pack-priv static boolean

Returns:

true if connected
pollConnectNow
(FileDescriptor fd)

Performs a non-blocking poll of a connecting socket to test if the connection has been established.

pack-priv static native short
pack-priv static native short
pack-priv static native short
pack-priv static native short
pack-priv static int

Returns:

the polled events or 0 if no events are polled
pollNow
(FileDescriptor fd, int events)

Performs a non-blocking poll of a file descriptor.

pack-priv static native short
pack-priv static native short
pack-priv static InetSocketAddress
private static native InetAddress
private static native int
pack-priv static native int
sendOOB(FileDescriptor fd, byte data)

Send one byte of urgent data (MSG_OOB) on the socket.

pack-priv static FileDescriptor
pack-priv static FileDescriptor
pack-priv static native void
setInterface4(FileDescriptor fd, int interf)

pack-priv static native void
private static native void
setIntOption0(FileDescriptor fd, boolean mayNeedConversion, int level, int opt, int arg, boolean isIPv6)

pack-priv static <T> void
setIpSocketOption(FileDescriptor fd, ProtocolFamily family, SocketOption<T> opt, T value)

Sets a IPPROTO_IPV6/IPPROTO level socket.

pack-priv static void
pack-priv static void
private static AssertionError
pack-priv static boolean
shouldSetBothIPv4AndIPv6Options()

Tells whether both IPV6_XXX and IP_XXX socket options should be set on IPv6 sockets.

private static native boolean
pack-priv static boolean
shouldShutdownWriteBeforeClose()

Tells whether a TCP connection should be shutdown for writing before closing.

private static native boolean
pack-priv static native void
shutdown(FileDescriptor fd, int how)

pack-priv static FileDescriptor
pack-priv static FileDescriptor
socket(ProtocolFamily family, boolean stream)

private static native int
socket0(boolean preferIPv6, boolean stream, boolean reuse, boolean fastLoopback)

pack-priv static void
pack-priv static void
pack-priv static void
unblock4(FileDescriptor fd, int group, int interf, int source)

Unblock IPv4 source

pack-priv static void
unblock6(FileDescriptor fd, byte[] group, int index, byte[] source)

Unblock IPv6 source

pack-priv static boolean
useExclusiveBind()

Returns true if exclusive binding is on

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ANY_LOCAL_INET4ADDRESSback to summary
private static final InetAddress ANY_LOCAL_INET4ADDRESS
ANY_LOCAL_INET6ADDRESSback to summary
private static final InetAddress ANY_LOCAL_INET6ADDRESS
EXCLUSIVE_BINDback to summary
private static final boolean EXCLUSIVE_BIND
EXTENDED_OPTIONSback to summary
pack-priv static final ExtendedSocketOptions EXTENDED_OPTIONS
FAST_LOOPBACKback to summary
private static final boolean FAST_LOOPBACK
INET4_LOOPBACK_ADDRESSback to summary
private static final InetAddress INET4_LOOPBACK_ADDRESS
INET6_LOOPBACK_ADDRESSback to summary
private static final InetAddress INET6_LOOPBACK_ADDRESS
IPV6_AVAILABLEback to summary
private static final boolean IPV6_AVAILABLE
POLLCONNback to summary
public static final short POLLCONN
POLLERRback to summary
public static final short POLLERR
POLLHUPback to summary
public static final short POLLHUP
POLLINback to summary
public static final short POLLIN

Event masks for the various poll system calls. They will be set platform dependent in the static initializer below.

POLLNVALback to summary
public static final short POLLNVAL
POLLOUTback to summary
public static final short POLLOUT
SHUT_RDback to summary
public static final int SHUT_RD
SHUT_RDWRback to summary
public static final int SHUT_RDWR
SHUT_WRback to summary
public static final int SHUT_WR
SHUTDOWN_WRITE_BEFORE_CLOSEback to summary
private static final LazyConstant<Boolean> SHUTDOWN_WRITE_BEFORE_CLOSE
SO_REUSEPORT_AVAILABLEback to summary
private static final boolean SO_REUSEPORT_AVAILABLE
UNSPECback to summary
pack-priv static final ProtocolFamily UNSPEC

Constructor Detail

Netback to summary
private Net()

Method Detail

acceptback to summary
public static native int accept(FileDescriptor fd, FileDescriptor newfd, InetSocketAddress[] isaa) throws IOException
anyInet4Addressback to summary
pack-priv static Inet4Address anyInet4Address(final NetworkInterface interf)

Returns any IPv4 address of the given network interface, or null if the interface does not have any IPv4 addresses.

anyLocalAddressback to summary
pack-priv static InetAddress anyLocalAddress(ProtocolFamily family)

Returns the wildcard address that corresponds to the given protocol family.

See Also
InetAddress#isAnyLocalAddress()
asInetSocketAddressback to summary
pack-priv static InetSocketAddress asInetSocketAddress(SocketAddress sa)
availableback to summary
pack-priv static native int available(FileDescriptor fd) throws IOException

Return the number of bytes in the socket input buffer.

bindback to summary
public static void bind(FileDescriptor fd, InetAddress addr, int port) throws IOException
bindback to summary
pack-priv static void bind(ProtocolFamily family, FileDescriptor fd, InetAddress addr, int port) throws IOException
bind0back to summary
private static native void bind0(FileDescriptor fd, boolean preferIPv6, boolean useExclBind, InetAddress addr, int port) throws IOException
block4back to summary
pack-priv static int block4(FileDescriptor fd, int group, int interf, int source) throws IOException

Block IPv4 source

block6back to summary
pack-priv static int block6(FileDescriptor fd, byte[] group, int index, byte[] source) throws IOException

Block IPv6 source

blockOrUnblock4back to summary
private static native int blockOrUnblock4(boolean block, FileDescriptor fd, int group, int interf, int source) throws IOException
blockOrUnblock6back to summary
pack-priv static native int blockOrUnblock6(boolean block, FileDescriptor fd, byte[] group, int index, byte[] source) throws IOException
canIPv6SocketJoinIPv4Groupback to summary
pack-priv static boolean canIPv6SocketJoinIPv4Group()

Tells whether IPv6 sockets can join IPv4 multicast groups

canIPv6SocketJoinIPv4Group0back to summary
private static native boolean canIPv6SocketJoinIPv4Group0()
canJoin6WithIPv4Groupback to summary
pack-priv static boolean canJoin6WithIPv4Group()

Tells whether join6 can be used to join an IPv4 multicast group (IPv4 group as IPv4-mapped IPv6 address)

canJoin6WithIPv4Group0back to summary
private static native boolean canJoin6WithIPv4Group0()
canUseIPv6OptionsWithIPv4LocalAddressback to summary
pack-priv static boolean canUseIPv6OptionsWithIPv4LocalAddress()

Tells whether IPV6_XXX socket options should be used on an IPv6 socket that is bound to an IPv4 address.

canUseIPv6OptionsWithIPv4LocalAddress0back to summary
private static native boolean canUseIPv6OptionsWithIPv4LocalAddress0()
checkAddressback to summary
public static InetSocketAddress checkAddress(SocketAddress sa)
checkAddressback to summary
pack-priv static InetSocketAddress checkAddress(SocketAddress sa, ProtocolFamily family)
connectback to summary
pack-priv static int connect(FileDescriptor fd, InetAddress remote, int remotePort) throws IOException
connectback to summary
pack-priv static int connect(ProtocolFamily family, FileDescriptor fd, InetAddress remote, int remotePort) throws IOException
connectback to summary
pack-priv static int connect(ProtocolFamily family, FileDescriptor fd, SocketAddress remote) throws IOException
connect0back to summary
private static native int connect0(boolean preferIPv6, FileDescriptor fd, InetAddress remote, int remotePort) throws IOException
discardOOBback to summary
pack-priv static native boolean discardOOB(FileDescriptor fd) throws IOException

Read and discard urgent data (MSG_OOB) on the socket.

drop4back to summary
pack-priv static void drop4(FileDescriptor fd, int group, int interf, int source) throws IOException

Drop membership of IPv4 multicast group

drop6back to summary
pack-priv static void drop6(FileDescriptor fd, byte[] group, int index, byte[] source) throws IOException

Drop membership of IPv6 multicast group

getInterface4back to summary
pack-priv static native int getInterface4(FileDescriptor fd) throws IOException
getInterface6back to summary
pack-priv static native int getInterface6(FileDescriptor fd) throws IOException
getIntOption0back to summary
private static native int getIntOption0(FileDescriptor fd, boolean mayNeedConversion, int level, int opt) throws IOException
getSocketOptionback to summary
pack-priv static Object getSocketOption(FileDescriptor fd, SocketOption<?> name) throws IOException
getSocketOptionback to summary
pack-priv static Object getSocketOption(FileDescriptor fd, ProtocolFamily family, SocketOption<?> name) throws IOException
inet4AsIntback to summary
pack-priv static int inet4AsInt(InetAddress ia)

Returns an IPv4 address as an int.

inet4FromIntback to summary
pack-priv static InetAddress inet4FromInt(int address)

Returns an InetAddress from the given IPv4 address represented as an int.

inet4LoopbackAddressback to summary
pack-priv static InetAddress inet4LoopbackAddress()
inet6AsByteArrayback to summary
pack-priv static byte[] inet6AsByteArray(InetAddress ia)

Returns an IPv6 address as a byte array

inet6LoopbackAddressback to summary
pack-priv static InetAddress inet6LoopbackAddress()
initIDsback to summary
private static native void initIDs()
isExclusiveBindAvailableback to summary
private static native int isExclusiveBindAvailable()
isFastTcpLoopbackRequestedback to summary
private static boolean isFastTcpLoopbackRequested()
isIPv6Availableback to summary
pack-priv static boolean isIPv6Available()

Tells whether dual-IPv4/IPv6 sockets should be used.

isIPv6Available0back to summary
private static native boolean isIPv6Available0()
isReusePortAvailableback to summary
pack-priv static boolean isReusePortAvailable()

Tells whether SO_REUSEPORT is supported.

isReusePortAvailable0back to summary
private static native boolean isReusePortAvailable0()
join4back to summary
pack-priv static int join4(FileDescriptor fd, int group, int interf, int source) throws IOException

Join IPv4 multicast group

join6back to summary
pack-priv static int join6(FileDescriptor fd, byte[] group, int index, byte[] source) throws IOException

Join IPv6 multicast group

joinOrDrop4back to summary
private static native int joinOrDrop4(boolean join, FileDescriptor fd, int group, int interf, int source) throws IOException
joinOrDrop6back to summary
private static native int joinOrDrop6(boolean join, FileDescriptor fd, byte[] group, int index, byte[] source) throws IOException
listenback to summary
pack-priv static native void listen(FileDescriptor fd, int backlog) throws IOException
localAddressback to summary
public static InetSocketAddress localAddress(FileDescriptor fd) throws IOException
localInetAddressback to summary
private static native InetAddress localInetAddress(FileDescriptor fd) throws IOException
localPortback to summary
private static native int localPort(FileDescriptor fd) throws IOException
newSocketExceptionback to summary
private static SocketException newSocketException(String msg)
pollback to summary
pack-priv static native int poll(FileDescriptor fd, int events, long timeout) throws IOException

Polls a file descriptor for events.

Parameters
timeout:long

the timeout to wait; 0 to not wait, -1 to wait indefinitely

Returns:int

the polled events or 0 if no events are polled

pollConnectback to summary
public static native boolean pollConnect(FileDescriptor fd, long timeout) throws IOException

Polls a connecting socket to test if the connection has been established.

API Note

This method is public to allow it to be used by code in jdk.sctp.

Parameters
timeout:long

the timeout to wait; 0 to not wait, -1 to wait indefinitely

Returns:boolean

true if connected

pollConnectNowback to summary
pack-priv static boolean pollConnectNow(FileDescriptor fd) throws IOException

Performs a non-blocking poll of a connecting socket to test if the connection has been established.

Returns:boolean

true if connected

pollconnValueback to summary
pack-priv static native short pollconnValue()
pollerrValueback to summary
pack-priv static native short pollerrValue()
pollhupValueback to summary
pack-priv static native short pollhupValue()
pollinValueback to summary
pack-priv static native short pollinValue()
pollNowback to summary
pack-priv static int pollNow(FileDescriptor fd, int events) throws IOException

Performs a non-blocking poll of a file descriptor.

Returns:int

the polled events or 0 if no events are polled

pollnvalValueback to summary
pack-priv static native short pollnvalValue()
polloutValueback to summary
pack-priv static native short polloutValue()
remoteAddressback to summary
pack-priv static InetSocketAddress remoteAddress(FileDescriptor fd) throws IOException
remoteInetAddressback to summary
private static native InetAddress remoteInetAddress(FileDescriptor fd) throws IOException
remotePortback to summary
private static native int remotePort(FileDescriptor fd) throws IOException
sendOOBback to summary
pack-priv static native int sendOOB(FileDescriptor fd, byte data) throws IOException

Send one byte of urgent data (MSG_OOB) on the socket.

serverSocketback to summary
pack-priv static FileDescriptor serverSocket()
serverSocketback to summary
pack-priv static FileDescriptor serverSocket(ProtocolFamily family)
setInterface4back to summary
pack-priv static native void setInterface4(FileDescriptor fd, int interf) throws IOException
setInterface6back to summary
pack-priv static native void setInterface6(FileDescriptor fd, int index) throws IOException
setIntOption0back to summary
private static native void setIntOption0(FileDescriptor fd, boolean mayNeedConversion, int level, int opt, int arg, boolean isIPv6) throws IOException
setIpSocketOptionback to summary
pack-priv static <T> void setIpSocketOption(FileDescriptor fd, ProtocolFamily family, SocketOption<T> opt, T value) throws IOException

Sets a IPPROTO_IPV6/IPPROTO level socket. Some platforms require both IPPROTO_IPV6 and IPPROTO socket options to be set when the socket is IPv6. In that case, the IPPROTO socket option is set on a best effort basis.

setSocketOptionback to summary
pack-priv static void setSocketOption(FileDescriptor fd, SocketOption<?> name, Object value) throws IOException
setSocketOptionback to summary
pack-priv static void setSocketOption(FileDescriptor fd, ProtocolFamily family, SocketOption<?> name, Object value) throws IOException
shouldNotReachHereback to summary
private static AssertionError shouldNotReachHere()
shouldSetBothIPv4AndIPv6Optionsback to summary
pack-priv static boolean shouldSetBothIPv4AndIPv6Options()

Tells whether both IPV6_XXX and IP_XXX socket options should be set on IPv6 sockets. On some kernels, both IPV6_XXX and IP_XXX socket options need to be set so that the settings are effective for IPv4 connections and datagrams.

shouldSetBothIPv4AndIPv6Options0back to summary
private static native boolean shouldSetBothIPv4AndIPv6Options0()
shouldShutdownWriteBeforeCloseback to summary
pack-priv static boolean shouldShutdownWriteBeforeClose()

Tells whether a TCP connection should be shutdown for writing before closing.

shouldShutdownWriteBeforeClose0back to summary
private static native boolean shouldShutdownWriteBeforeClose0()
shutdownback to summary
pack-priv static native void shutdown(FileDescriptor fd, int how) throws IOException
socketback to summary
pack-priv static FileDescriptor socket() throws IOException
socketback to summary
pack-priv static FileDescriptor socket(ProtocolFamily family, boolean stream) throws IOException
socket0back to summary
private static native int socket0(boolean preferIPv6, boolean stream, boolean reuse, boolean fastLoopback)
translateExceptionback to summary
pack-priv static void translateException(Exception x) throws IOException
translateToSocketExceptionback to summary
pack-priv static void translateToSocketException(Exception x) throws SocketException
unblock4back to summary
pack-priv static void unblock4(FileDescriptor fd, int group, int interf, int source) throws IOException

Unblock IPv4 source

unblock6back to summary
pack-priv static void unblock6(FileDescriptor fd, byte[] group, int index, byte[] source) throws IOException

Unblock IPv6 source

useExclusiveBindback to summary
pack-priv static boolean useExclusiveBind()

Returns true if exclusive binding is on