public final class StandardSocketOptions extends Object
Modifier and Type | Field and Description |
---|---|
static SocketOption<NetworkInterface> |
IP_MULTICAST_IF
互联网协议(IP)的网络接口的多播数据报。
|
static SocketOption<Boolean> |
IP_MULTICAST_LOOP
互联网协议(IP)的组播报文回送。
|
static SocketOption<Integer> |
IP_MULTICAST_TTL
时间的互联网协议(IP)的多播数据报的生活。
|
static SocketOption<Integer> |
IP_TOS
服务类型(TOS)的互联网协议(IP)报头字节。
|
static SocketOption<Boolean> |
SO_BROADCAST
允许广播数据报传输。
|
static SocketOption<Boolean> |
SO_KEEPALIVE
保持连接。
|
static SocketOption<Integer> |
SO_LINGER
如果数据是存在的话,就停留在关闭的。
|
static SocketOption<Integer> |
SO_RCVBUF
插座接收缓冲区的大小。
|
static SocketOption<Boolean> |
SO_REUSEADDR
重新使用地址。
|
static SocketOption<Integer> |
SO_SNDBUF
套接字发送缓冲区的大小。
|
static SocketOption<Boolean> |
TCP_NODELAY
禁用Nagle算法。
|
public static final SocketOption<Boolean> SO_BROADCAST
此选项的值是一个Boolean
表示选项是否已启用或禁用。选择特定的面向数据报套接字发送到IPv4
广播地址。当套接字选项启用然后插座可以用来发送广播数据报。
此套接字选项的初始值是FALSE
。套接字选项可以在任何时间启用或禁用。有些操作系统可能需要的java虚拟机启动实施的具体权限启用此选项或发送广播数据报。
public static final SocketOption<Boolean> SO_KEEPALIVE
此选项的值是一个Boolean
表示选项是否已启用或禁用。当SO_KEEPALIVE
选项启用操作系统可以使用保活机制定期探针连接的另一端连接空闲时。保持活着的机制的确切语义是系统依赖,因此未指定。
此套接字选项的初始值是FALSE
。套接字选项可以在任何时间启用或禁用。
public static final SocketOption<Integer> SO_SNDBUF
此选项的值是一个Integer
,规模是socket的发送缓冲区中的字节数。套接字发送缓冲区是一个用于网络实现的输出缓冲区。它可能需要增加高容量连接。套接字选项的值是一个提示,以实现大小缓冲区和实际大小可能会有所不同。套接字选项可以被查询以检索实际大小。
对于面向数据报套接字的发送缓冲区的限制,可以通过套接字发送数据包的大小。不管数据报大于缓冲区的大小是依赖于系统发送或丢弃。
套接字发送缓冲区的初始/默认大小和允许值的范围是系统依赖的,但不允许的大小是不允许的。尝试将套接字发送缓冲区设置为大于其最大大小的缓冲区,使其设置为最大大小。
一个实现允许在套接字绑定或连接之前设置套接字选项。是否一个实现允许套接字发送缓冲区将被更改后,套接字绑定的是系统依赖性的。
public static final SocketOption<Integer> SO_RCVBUF
此选项的值是一个Integer
是套接字接收缓冲区的大小以字节为单位。套接字接收缓冲区是一个用于网络实现的输入缓冲区。它可能需要增加高容量的连接或减少,以限制可能的积压的传入的数据。套接字选项的值是一个提示,以实现大小缓冲区和实际大小可能会有所不同。
对于面向数据报套接字的接收缓冲区的限制,可以接收的数据报的大小。不管数据报大于缓冲区大小可以接收系统相关。增加套接字接收缓冲区可能是重要的情况下数据包到达爆发的地方比他们可以更快地处理。
在流式套接字和TCP / IP协议的情况下,socket的接收缓冲区的大小可以用来当广告的TCP接收窗口的大小对远程节点。
套接字接收缓冲区的初始/默认大小和允许值的范围是系统依赖的,但不允许的大小是不允许的。尝试将套接字接收缓冲区设置为大于其最大大小的缓冲区,使其设置为最大大小。
一个实现允许在套接字绑定或连接之前设置套接字选项。是否一个实现允许套接字接收缓冲区将被更改后,套接字绑定的是系统依赖性的。
public static final SocketOption<Boolean> SO_REUSEADDR
此选项的值是一个Boolean
表示选项是否已启用或禁用。这个套接字选项的确切语义是套接字类型和系统依赖性的。
在流式套接字的情况下,这个选项通常会确定插座可以绑定到一个套接字地址时,先前的连接涉及socket地址在time_wait状态。在语义不同的实现中,当上一个连接处于这种状态时,不需要启用套接字选项来绑定套接字,然后执行可能会选择忽略此选项。
对于面向数据报套接字socket选项来允许多个程序绑定到同一个地址。当套接字用于互联网协议(IP)多播时,应该启用此选项。
一个实现允许在套接字绑定或连接之前设置套接字选项。改变这个套接字选项的值后,套接字绑定没有任何效果。这个套接字选项的默认值是系统依赖的。
public static final SocketOption<Integer> SO_LINGER
此选项的值是一个Integer
控制行动时未发送的数据是排队在插座和关闭套接字方法被调用。如果套接字选项的值为零或更大,则它表示一个超时值,在几秒钟内,被称为“逗留时间间隔”。在间隔是挡在操作系统尝试发送未发送的数据也决定了它无法传输数据的方法close
超时。如果套接字选项的值小于零,则选项将被禁用。在这种情况下,close
方法不等到未发送的数据发送;如果可能的话,操作系统会在连接关闭传送任何未发送的数据。
这个选项是用于插座被配置在blocking
模式。close
方法的行为时,此选项是对非阻塞套接字不支持定义。
此套接字选项的初始值为负值,这意味着该选项将被禁用。选项可以启用,或逗留时间间隔更改,在任何时间。逗留时间间隔的最大值是系统依赖性的。将逗留间隔设置为大于其最大值的值,使其设置为其最大值的逗留时间间隔。
public static final SocketOption<Integer> IP_TOS
public static final SocketOption<NetworkInterface> IP_MULTICAST_IF
此选项的值是一个NetworkInterface
表示多播数据报套接字发送的面向数据包的输出接口。对于IPv6
插座则是依赖于系统是否设置此选项也可以设置输出接口的多播数据报发送到IPv4地址。
此套接字选项初始/默认值可能null
显示输出接口将由操作系统的选择,通常是基于网络的路由表。一个实现允许这个套接字选项被设置在套接字绑定之后。在绑定套接字之前,是否可以查询或更改套接字选项是否是系统依赖的。
public static final SocketOption<Integer> IP_MULTICAST_TTL
此套接字选项的值的范围是一个Integer
0 <= value <= 255
。它是用来控制多播数据报套接字发送的面向数据报的范围。在一个IPv4
套接字选项下的生存时间(TTL)对多播数据报套接字发送的。TTL以零Datagrams不在网络上传输,可以提供本地。在一个IPv6
套接字选项下的跳数限制的报文可以通过到期前在网络跳数。IPv6套接字是系统相关的选项是否还设置生存时间对多播数据报发送到IPv4地址。
初始/默认值的设置通常是1
生存时间。一个实现允许这个套接字选项被设置在套接字绑定之后。在绑定套接字之前,是否可以查询或更改套接字选项是否是系统依赖的。
public static final SocketOption<Boolean> IP_MULTICAST_LOOP
此套接字选项的值是一个控制多播数据报的环回Boolean
。套接字选项的值表示如果选项被启用或禁用。
这个套接字选项的确切语义是系统依赖的。特别是,它是依赖于系统是否适用于组播报文回送从套接字发送或接收的插座。对于IPv6
插座,然后是系统相关的选项是否也适用于多播数据报发送到IPv4地址。
此套接字选项初始/默认值是TRUE
。一个实现允许这个套接字选项被设置在套接字绑定之后。在绑定套接字之前,是否可以查询或更改套接字选项是否是系统依赖的。
public static final SocketOption<Boolean> TCP_NODELAY
此选项的值是一个Boolean
表示选项是否已启用或禁用。套接字选项是特定的流式套接字使用TCP / IP协议。TCP/IP协议使用一种算法称为Nagle算法合并短段和提高网络效率。
此选项的默认值是FALSE
。套接字选项只能启用的情况下,它是已知的,凝聚对性能的影响。套接字选项可以在任何时间启用。换句话说,Nagle Algorithm可以被禁用。一旦选项被启用,它是系统依赖是否可以随后禁用。如果不能,然后调用setOption
方法禁用该选项不起作用。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.