Module
jdk.sctp
Package 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事件的通知。
- 从以下版本开始:
- 1.7
-
接口摘要 接口 描述 Notification 来自SCTP堆栈的通知。NotificationHandler<T> 用于从SCTP堆栈中消费通知的处理程序。SctpSocketOption<T> 与SCTP通道相关联的插座选项。 -
类摘要 Class 描述 AbstractNotificationHandler<T> 消耗通知并继续的骨架处理程序。Association 表示SCTP关联的类。AssociationChangeNotification 关联已打开或关闭时发出的通知。MessageInfo MessageInfo
课程提供了有关消息的其他辅助信息。PeerAddressChangeNotification 多宿主对等体上的目标地址发生更改时发出的通知。SctpChannel 用于面向消息的连接SCTP套接字的可选通道。SctpMultiChannel 用于面向消息的SCTP套接字的可选通道。SctpServerChannel 用于面向消息的侦听SCTP插座的可选通道。SctpStandardSocketOptions SCTP通道支持此类定义的套接字选项(以及特定通道类中列出的套接字选项),并且可以支持额外的实现特定套接字选项。SctpStandardSocketOptions.InitMaxStreams 此类用于设置关联初始化期间本地端点使用的入站/出站流的最大数量。SendFailedNotification 收到发送失败通知时发出的通知。ShutdownNotification 当对等体关闭关联时发出的通知。 -
枚举摘要 Enum 描述 AssociationChangeNotification.AssocChangeEvent 定义关联发生的变更事件的类型。HandlerResult 定义通知处理程序结果。PeerAddressChangeNotification.AddressChangeEvent 定义在多宿主对等体遇到更改接口详细信息时发生到目标地址的地址更改事件的类型。 -
异常摘要 异常 描述 IllegalReceiveException 当试图调用未经检查的异常receive
的方法SctpChannel
或SctpMultiChannel
从通知处理程序。IllegalUnbindException 尝试删除未绑定到该通道的地址时删除未检查的异常,或从仅具有一个地址的通道中删除地址。InvalidStreamException 尝试将消息发送到无效流时抛出未检查的异常。