树叶云鸿蒙OS教程:鸿蒙OS StandardSocketOptions

StandardSocketOptions

java.lang.Object

|—java.net.StandardSocketOptions

public final class StandardSocketOptions
extends Object

定义标准套接字选项。

此类定义的每个套接字选项的 SocketOption#name 是其字段名称。

在此版本中,此处定义的套接字选项由 channels 包中的网络通道使用。

字段摘要

修饰符和类型字段描述
static SocketOptionNetworkInterfaceIP_MULTICAST_IFInternet 协议 (IP) 多播数据报的网络接口。
static SocketOptionBooleanIP_MULTICAST_LOOPInternet 协议 (IP) 多播数据报的环回。
static SocketOptionIntegerIP_MULTICAST_TTLInternet 协议 (IP) 多播数据报的time-to-live。
static SocketOptionIntegerIP_TOSInternet 协议 (IP) 标头中的服务类型 (ToS) 八位字节。
static SocketOptionBooleanSO_BROADCAST允许传输广播数据报。
static SocketOptionBooleanSO_KEEPALIVE保持连接活跃。
static SocketOptionIntegerSO_LINGER如果存在数据,则在关闭时逗留。
static SocketOptionIntegerSO_RCVBUF套接字接收缓冲区的大小。
static SocketOptionBooleanSO_REUSEADDR重用地址。
static SocketOptionIntegerSO_SNDBUF套接字发送缓冲区的大小。
static SocketOptionBooleanTCP_NODELAY禁用 Nagle 算法。

方法总结

从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

IP_MULTICAST_IF

public static final SocketOptionNetworkInterface IP_MULTICAST_IF

Internet 协议 (IP) 多播数据报的网络接口。

此套接字选项的值是一个 NetworkInterface,它表示由面向数据报的套接字发送的多播数据报的传出接口。 对于 StandardProtocolFamily#INET6 套接字,设置此选项是否还设置发送到 IPv4 地址的多播数据报的传出接口取决于系统。

此套接字选项的初始/默认值可能为空,表示操作系统将选择传出接口,通常基于网络路由表。 一个实现允许在绑定套接字之后设置此套接字选项。 在绑定套接字之前是否可以查询或更改套接字选项取决于系统。

IP_MULTICAST_LOOP

public static final SocketOptionBoolean IP_MULTICAST_LOOP

Internet 协议 (IP) 多播数据报的环回。

此套接字选项的值是一个布尔值,用于控制多播数据报的环回。 套接字选项的值表示该选项是启用还是禁用。

此套接字选项的确切语义取决于系统。 特别是,环回是否适用于从套接字发送或由套接字接收的多播数据报取决于系统。 对于 StandardProtocolFamily#INET6 套接字,该选项是否也适用于发送到 IPv4 地址的多播数据报取决于系统。

此套接字选项的初始/默认值为 TRUE。 一个实现允许在绑定套接字之后设置此套接字选项。 在绑定套接字之前是否可以查询或更改套接字选项取决于系统。

IP_MULTICAST_TTL

public static final SocketOptionInteger IP_MULTICAST_TTL

Internet 协议 (IP) 多播数据报的time-to-live。

这个socket选项的值是一个0 <= value <= 255范围内的Integer,用来控制面向数据报的socket发送的组播数据报的范围。在 StandardProtocolFamily#INET 套接字的情况下,该选项是套接字发送的多播数据报的生存时间 (TTL)。 TTL 为零的数据报不在网络上传输,但可以在本地传送。在 StandardProtocolFamily#INET6 套接字的情况下,该选项是跳数限制,即数据报在网络上过期之前可以通过的跳数。对于 IPv6 套接字,该选项是否还设置发送到 IPv4 地址的多播数据报的生存时间取决于系统。

生存时间设置的初始/默认值通常为 1。实现允许在绑定套接字后设置此套接字选项。在绑定套接字之前是否可以查询或更改套接字选项取决于系统。

IP_TOS

public static final SocketOptionInteger IP_TOS

Internet 协议 (IP) 标头中的服务类型 (ToS) 八位字节。

此套接字选项的值是一个整数,表示由套接字发送到 StandardProtocolFamily#INET 套接字的 IP 数据包中 ToS 八位字节的值。 ToS 八位字节的解释是特定于网络的,并且未由此类定义。关于 ToS 八位字节的更多信息可以在 RFC 1349 和 RFC 2474 中找到。套接字选项的值是一个提示。实现可能会忽略该值,或忽略特定值。

ToS 字节中 TOS 字段的初始/默认值是特定于实现的,但通常为 0。对于面向数据报的套接字,可以在绑定套接字后的任何时间配置该选项。发送后续数据报时使用八位字节的新值。在绑定套接字之前是否可以查询或更改此选项取决于系统。

此版本中未定义此套接字选项在面向流的套接字或 StandardProtocolFamily#INET6 套接字上的行为。

SO_BROADCAST

public static final SocketOptionBoolean SO_BROADCAST

允许传输广播数据报。

此套接字选项的值是一个布尔值,表示该选项是启用还是禁用。 该选项特定于发送到 IPv4 广播地址的面向数据报的套接字。 当启用套接字选项时,套接字可用于发送广播数据报。

此套接字选项的初始值为 FALSE。 可以随时启用或禁用套接字选项。 某些操作系统可能要求以实现特定权限启动 Java 虚拟机以启用此选项或发送广播数据报。

SO_KEEPALIVE

public static final SocketOptionBoolean SO_KEEPALIVE

保持连接活跃。

此套接字选项的值是一个布尔值,表示该选项是启用还是禁用。 当启用 SO_KEEPALIVE 选项时,操作系统可以使用保持活动机制来定期探测连接的另一端,而此时连接处于空闲状态。 保活机制的确切语义取决于系统,因此未指定。

此套接字选项的初始值为 FALSE。 可以随时启用或禁用套接字选项。

SO_LINGER

public static final SocketOptionInteger SO_LINGER

如果存在数据,则在关闭时逗留。

这个套接字选项的值是一个整数,它控制当未发送的数据在套接字上排队并调用关闭套接字的方法时所采取的操作。如果套接字选项的值为零或更大,则它表示超时值,以秒为单位,称为延迟间隔。延迟间隔是关闭方法在操作系统尝试传输未发送的数据或它决定无法传输数据时阻塞的超时时间。如果套接字选项的值小于零,则该选项被禁用。在这种情况下,close 方法不会等到传输未发送的数据;如果可能,操作系统将在连接关闭之前传输任何未发送的数据。

此套接字选项仅用于在阻塞模式下配置的套接字。未定义在非阻塞套接字上启用此选项时关闭方法的行为。

此套接字选项的初始值为负值,表示该选项被禁用。可以随时启用该选项或更改逗留间隔。逗留间隔的最大值取决于系统。将延迟间隔设置为大于其最大值的值会导致延迟间隔设置为其最大值。

SO_RCVBUF

public static final SocketOptionInteger SO_RCVBUF

套接字接收缓冲区的大小。

此套接字选项的值是一个整数,它是套接字接收缓冲区的大小(以字节为单位)。套接字接收缓冲区是网络实现使用的输入缓冲区。对于大容量连接,可能需要增加或减少以限制传入数据的可能积压。 socket 选项的值是实现缓冲区大小的提示,实际大小可能不同。

对于面向数据报的套接字,接收缓冲区的大小可能会限制可以接收的数据报的大小。是否可以接收大于缓冲区大小的数据报取决于系统。对于数据报以突发方式到达的速度快于处理速度的情况,增加套接字接收缓冲区可能很重要。

在面向流的套接字和 TCP/IP 协议的情况下,当向远程对等方通告 TCP 接收窗口的大小时,可以使用套接字接收缓冲区的大小。

套接字接收缓冲区的初始/默认大小和允许值的范围取决于系统,尽管不允许使用负大小。尝试将套接字接收缓冲区设置为大于其最大大小会导致其设置为最大大小。

实现允许在绑定或连接套接字之前设置此套接字选项。实现是否允许在绑定套接字后更改套接字接收缓冲区取决于系统。

SO_REUSEADDR

public static final SocketOptionBoolean SO_REUSEADDR

重用地址。

此套接字选项的值是一个布尔值,表示该选项是启用还是禁用。此套接字选项的确切语义取决于套接字类型和系统。

在面向流的套接字的情况下,此套接字选项通常将确定当涉及该套接字地址的先前连接处于 TIME_WAIT 状态时,该套接字是否可以绑定到该套接字地址。在语义不同的实现上,并且当先前的连接处于此状态时,不需要启用套接字选项以绑定套接字,则实现可以选择忽略此选项。

对于面向数据报的套接字,套接字选项用于允许多个程序绑定到同一个地址。当套接字用于 Internet 协议 (IP) 多播时,应启用此选项。

实现允许在绑定或连接套接字之前设置此套接字选项。绑定套接字后更改此套接字选项的值无效。此套接字选项的默认值取决于系统。

SO_SNDBUF

public static final SocketOptionInteger SO_SNDBUF

套接字发送缓冲区的大小。

此套接字选项的值是一个整数,它是套接字发送缓冲区的大小(以字节为单位)。套接字发送缓冲区是网络实现使用的输出缓冲区。对于大容量连接,可能需要增加它。 socket 选项的值是实现缓冲区大小的提示,实际大小可能不同。可以查询套接字选项以检索实际大小。

对于面向数据报的套接字,发送缓冲区的大小可能会限制套接字可能发送的数据报的大小。是否发送或丢弃大于缓冲区大小的数据报取决于系统。

套接字发送缓冲区的初始/默认大小和允许值的范围取决于系统,尽管不允许使用负大小。尝试将套接字发送缓冲区设置为大于其最大大小会导致其设置为最大大小。

实现允许在绑定或连接套接字之前设置此套接字选项。实现是否允许在绑定套接字后更改套接字发送缓冲区取决于系统。

TCP_NODELAY

public static final SocketOptionBoolean TCP_NODELAY

禁用 Nagle 算法。

此套接字选项的值是一个布尔值,表示该选项是启用还是禁用。 套接字选项特定于使用 TCP/IP 协议的面向流的套接字。 TCP/IP 使用一种称为 Nagle 算法的算法来合并短段并提高网络效率。

此套接字选项的默认值为 FALSE。 只有在已知合并会影响性能的情况下才应启用套接字选项。 可以随时启用套接字选项。 换句话说,可以禁用 Nagle 算法。 启用该选项后,是否可以随后禁用它取决于系统。 如果不能,则调用 setOption 方法禁用该选项无效。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/199879.html<

(0)
运维的头像运维
上一篇2025-04-05 01:09
下一篇 2025-04-05 01:11

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注