模块 jdk.sctp

包 com.sun.nio.sctp


com.sun.nio.sctp
用于流控制传输协议的 Java API。

流控制传输协议 (SCTP) 是一种可靠的、面向消息的传输协议,与 UDP(用户数据报协议)和 TCP(传输控制协议)处于同等级别。 SCTP 是面向会话的,在传输任何数据之前必须建立端点之间的关联。

SCTP 直接支持多宿主,这意味着端点可以由多个地址表示,每个地址都可以用于发送和接收数据,从而提供网络冗余。两个端点之间的连接称为这些端点之间的关联。端点可以在关联设置期间交换地址列表。一个地址被指定为主地址,这是对等方将用于发送数据的默认地址。单个端口号用于特定会话端点的整个地址列表。

SCTP 是基于消息的。 I/O 操作对消息进行操作并保留消息边界。每个关联可以支持多个独立的逻辑流。每个流表示单个关联中的一系列消息,并且流彼此独立,这意味着流标识符和序列号包含在数据包中以允许在每个流的基础上对消息进行排序。

这个包提供了两种编程模型风格。 SctpChannel SctpServerChannel 支持的一对一样式,SctpMultiChannel 支持的一对多样式。一对一接口的语义与 TCP 非常相似。一个 SctpChannel 只能控制一个 SCTP 关联。一对多风格接口的语义与 UDP 非常相似。 SctpMutliChannel 可以控制多个 SCTP 关联。

应用程序可以通过 MessageInfo 发送和接收每条消息的辅助信息。例如,要从中发送或接收消息的流编号。 SCTP 堆栈是事件驱动的,应用程序可以通过使用适当的 notification handler 调用 SCTP 通道的 receive 方法来接收某些 SCTP 事件的通知。

SCTP 协议由 RFC4960 定义,可选扩展为动态地址重新配置RFC5061 定义。

自从:
1.7