Class Sockets

public class Sockets
extends Object

Defines static methods to set and get socket options defined by the SocketOption interface. All of the standard options defined by Socket, ServerSocket, and DatagramSocket can be set this way, as well as additional or platform specific options supported by each socket type.

The supportedOptions(Class) method can be called to determine the complete set of options available (per socket type) on the current system.

When a security manager is installed, some non-standard socket options may require a security permission before being set or get. The details are specified in ExtendedSocketOptions. No permission is required for StandardSocketOptions.

See Also:
NetworkChannel

Methods

Modifier and Type Method Description
static <T> T getOption​(DatagramSocket s, SocketOption<T> name)

Returns the value of a socket option from a DatagramSocket or MulticastSocket

static <T> T getOption​(ServerSocket s, SocketOption<T> name)

Returns the value of a socket option from a ServerSocket

static <T> T getOption​(Socket s, SocketOption<T> name)

Returns the value of a socket option from a Socket

static <T> void setOption​(DatagramSocket s, SocketOption<T> name, T value)

Sets the value of a socket option on a DatagramSocket or MulticastSocket

static <T> void setOption​(ServerSocket s, SocketOption<T> name, T value)

Sets the value of a socket option on a ServerSocket

static <T> void setOption​(Socket s, SocketOption<T> name, T value)

Sets the value of a socket option on a Socket

static Set<SocketOption<?>> supportedOptions​(Class<?> socketType)

Returns a set of SocketOptions supported by the given socket type.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods

setOption

public static <T> void setOption(Socket s,
                                 SocketOption<T> name,
                                 T value)
                          throws IOException

Sets the value of a socket option on a Socket

Parameters:
s - the socket
name - The socket option
value - The value of the socket option. May be null for some options.
Throws:
UnsupportedOperationException - if the socket does not support the option.
IllegalArgumentException - if the value is not valid for the option.
IOException - if an I/O error occurs, or socket is closed.
SecurityException - if a security manager is set and the caller does not have any required permission.
NullPointerException - if name is null
See Also:
StandardSocketOptions

getOption

public static <T> T getOption(Socket s,
                              SocketOption<T> name)
                       throws IOException

Returns the value of a socket option from a Socket

Parameters:
s - the socket
name - The socket option
Returns:
The value of the socket option.
Throws:
UnsupportedOperationException - if the socket does not support the option.
IOException - if an I/O error occurs
SecurityException - if a security manager is set and the caller does not have any required permission.
NullPointerException - if name is null
See Also:
StandardSocketOptions

setOption

public static <T> void setOption(ServerSocket s,
                                 SocketOption<T> name,
                                 T value)
                          throws IOException

Sets the value of a socket option on a ServerSocket

Parameters:
s - the socket
name - The socket option
value - The value of the socket option.
Throws:
UnsupportedOperationException - if the socket does not support the option.
IllegalArgumentException - if the value is not valid for the option.
IOException - if an I/O error occurs
NullPointerException - if name is null
SecurityException - if a security manager is set and the caller does not have any required permission.
See Also:
StandardSocketOptions

getOption

public static <T> T getOption(ServerSocket s,
                              SocketOption<T> name)
                       throws IOException

Returns the value of a socket option from a ServerSocket

Parameters:
s - the socket
name - The socket option
Returns:
The value of the socket option.
Throws:
UnsupportedOperationException - if the socket does not support the option.
IOException - if an I/O error occurs
NullPointerException - if name is null
SecurityException - if a security manager is set and the caller does not have any required permission.
See Also:
StandardSocketOptions

setOption

public static <T> void setOption(DatagramSocket s,
                                 SocketOption<T> name,
                                 T value)
                          throws IOException

Sets the value of a socket option on a DatagramSocket or MulticastSocket

Parameters:
s - the socket
name - The socket option
value - The value of the socket option.
Throws:
UnsupportedOperationException - if the socket does not support the option.
IllegalArgumentException - if the value is not valid for the option.
IOException - if an I/O error occurs
NullPointerException - if name is null
SecurityException - if a security manager is set and the caller does not have any required permission.
See Also:
StandardSocketOptions

getOption

public static <T> T getOption(DatagramSocket s,
                              SocketOption<T> name)
                       throws IOException

Returns the value of a socket option from a DatagramSocket or MulticastSocket

Parameters:
s - the socket
name - The socket option
Returns:
The value of the socket option.
Throws:
UnsupportedOperationException - if the socket does not support the option.
IOException - if an I/O error occurs
NullPointerException - if name is null
SecurityException - if a security manager is set and the caller does not have any required permission.
See Also:
StandardSocketOptions

supportedOptions

public static Set<SocketOption<?>> supportedOptions(Class<?> socketType)

Returns a set of SocketOptions supported by the given socket type. This set may include standard options and also non standard extended options.

Parameters:
socketType - the type of java.net socket
Throws:
IllegalArgumentException - if socketType is not a valid socket type from the java.net package.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.net/jdk/net/Sockets.html