java.lang.Object
jdk.net.Sockets
Deprecated.
Java SE 9 added standard methods to set/get socket options, and retrieve the per-Socket supported options effectively rendering this API redundant. Please refer to the corresponding socket's class for the equivalent method to set/get a socket option or retrieve available socket options.
定义了设置和获取由
SocketOption
接口定义的套接字选项的静态方法。所有由Socket
、ServerSocket
和DatagramSocket
定义的标准选项都可以通过这种方式设置,以及每种套接字类型支持的其他或特定于平台的选项。
可以调用supportedOptions(Class)
方法来确定当前系统上可用的完整选项集(每种套接字类型)。
当安装了安全管理器时,一些非标准的套接字选项可能需要在设置或获取之前获得安全权限。详细信息在ExtendedSocketOptions
中指定。对于StandardSocketOptions
不需要权限。
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> T
getOption
(DatagramSocket s, SocketOption<T> name) 已过时。static <T> T
getOption
(ServerSocket s, SocketOption<T> name) 已过时。static <T> T
getOption
(Socket s, SocketOption<T> name) 已过时。static <T> void
setOption
(DatagramSocket s, SocketOption<T> name, T value) static <T> void
setOption
(ServerSocket s, SocketOption<T> name, T value) static <T> void
setOption
(Socket s, SocketOption<T> name, T value) 已过时。static Set
<SocketOption<?>> supportedOptions
(Class<?> socketType) 已过时,将来会移除:此API元素可能在将来的版本中被移除。
-
Method Details
-
setOption
@Deprecated(since="16") public static <T> void setOption(Socket s, SocketOption<T> name, T value) throws IOException Deprecated.useSocket.setOption(SocketOption, Object)
instead.在Socket
上设置套接字选项的值- 类型参数:
-
T
- 套接字选项的类型 - 参数:
-
s
- 套接字 -
name
- 套接字选项 -
value
- 套接字选项的值。对于某些选项,可能为null。 - 抛出:
-
UnsupportedOperationException
- 如果套接字不支持该选项。 -
IllegalArgumentException
- 如果值对于该选项无效。 -
IOException
- 如果发生I/O错误,或套接字已关闭。 -
SecurityException
- 如果设置了安全管理器且调用方没有任何所需权限。 -
NullPointerException
- 如果name为null - 参见:
-
getOption
@Deprecated(since="16") public static <T> T getOption(Socket s, SocketOption<T> name) throws IOException Deprecated.useSocket.getOption(SocketOption)
instead.从Socket
返回套接字选项的值- 类型参数:
-
T
- 套接字选项的类型 - 参数:
-
s
- 套接字 -
name
- 套接字选项 - 返回:
- 套接字选项的值。
- 抛出:
-
UnsupportedOperationException
- 如果套接字不支持该选项。 -
IOException
- 如果发生I/O错误 -
SecurityException
- 如果设置了安全管理器且调用方没有任何所需权限。 -
NullPointerException
- 如果name为null - 参见:
-
setOption
@Deprecated(since="16") public static <T> void setOption(ServerSocket s, SocketOption<T> name, T value) throws IOException Deprecated.useServerSocket.setOption(SocketOption, Object)
instead.在ServerSocket
上设置套接字选项的值- 类型参数:
-
T
- 套接字选项的类型 - 参数:
-
s
- 套接字 -
name
- 套接字选项 -
value
- 套接字选项的值 - 抛出:
-
UnsupportedOperationException
- 如果套接字不支持该选项。 -
IllegalArgumentException
- 如果值对于该选项无效。 -
IOException
- 如果发生I/O错误 -
NullPointerException
- 如果name为null -
SecurityException
- 如果设置了安全管理器且调用方没有任何所需权限。 - 参见:
-
getOption
@Deprecated(since="16") public static <T> T getOption(ServerSocket s, SocketOption<T> name) throws IOException Deprecated.useServerSocket.getOption(SocketOption)
instead.从ServerSocket
返回套接字选项的值- 类型参数:
-
T
- 套接字选项的类型 - 参数:
-
s
- 套接字 -
name
- 套接字选项 - 返回:
- 套接字选项的值。
- 抛出:
-
UnsupportedOperationException
- 如果套接字不支持该选项。 -
IOException
- 如果发生I/O错误 -
NullPointerException
- 如果name为null -
SecurityException
- 如果设置了安全管理器且调用方没有任何所需权限。 - 参见:
-
setOption
@Deprecated(since="16") public static <T> void setOption(DatagramSocket s, SocketOption<T> name, T value) throws IOException Deprecated.useDatagramSocket.setOption(SocketOption, Object)
instead.在DatagramSocket
或MulticastSocket
上设置套接字选项的值- 类型参数:
-
T
- 套接字选项的类型 - 参数:
-
s
- 套接字 -
name
- 套接字选项 -
value
- 套接字选项的值 - 抛出:
-
UnsupportedOperationException
- 如果套接字不支持该选项。 -
IllegalArgumentException
- 如果值对于该选项无效。 -
IOException
- 如果发生I/O错误 -
NullPointerException
- 如果name为null -
SecurityException
- 如果设置了安全管理器且调用方没有任何所需权限。 - 参见:
-
getOption
@Deprecated(since="16") public static <T> T getOption(DatagramSocket s, SocketOption<T> name) throws IOException Deprecated.useDatagramSocket.getOption(SocketOption)
instead.返回来自DatagramSocket或MulticastSocket的套接字选项的值。- 类型参数:
-
T
- 套接字选项的类型 - 参数:
-
s
- 套接字 -
name
- 套接字选项 - 返回:
- 套接字选项的值。
- 抛出:
-
UnsupportedOperationException
- 如果套接字不支持该选项。 -
IOException
- 如果发生I/O错误 -
NullPointerException
- 如果name为null -
SecurityException
- 如果设置了安全管理器且调用者没有所需的权限。 - 参见:
-
supportedOptions
@Deprecated(since="16", forRemoval=true) public static Set<SocketOption<?>> supportedOptions(Class<?> socketType) Deprecated, for removal: This API element is subject to removal in a future version.返回给定套接字类型支持的一组SocketOption
。此集合可能包括标准选项和非标准扩展选项。- 参数:
-
socketType
- java.net套接字的类型 - 返回:
- 一组套接字选项
- 抛出:
-
IllegalArgumentException
- 如果socketType不是java.net包中的有效套接字类型。
-