Пакет com.sun.nio.sctp
Протокол Stream Control Transport Protocol (SCTP) — это надёжный, ориентированный на сообщения транспортный протокол, существующий на том же уровне, что UDP (протокол пользовательских датаграмм) и TCP (протокол управления передачей). SCTP ориентирован на сессии, и перед передачей данных должна быть установлена ассоциация между конечными точками.
SCTP напрямую поддерживает многоадресность, что означает, что конечная точка может быть представлена несколькими адресами, и каждый адрес может использоваться для отправки и получения данных, обеспечивая сетевую избыточность. Соединение между двумя конечными точками называется ассоциацией между этими конечными точками. Конечные точки могут обмениваться списком адресов во время настройки ассоциации. Один адрес обозначается как основной адрес, это по умолчанию адрес, который псевдоним будет использовать для отправки данных. Единственный номер порта используется для всего списка адресов на конечной точке для определённой сессии.
SCTP основан на сообщениях. Операции ввода-вывода выполняются над сообщениями, и границы сообщений сохраняются. Каждая ассоциация может поддерживать несколько независимых логических потоков. Каждый поток представляет собой последовательность сообщений в рамках одной ассоциации, и потоки независимы друг от друга, что означает, что идентификаторы потоков и порядковые номера включены в пакет данных, чтобы обеспечить упорядочение сообщений на основе каждого потока.
Этот пакет предоставляет два стиля программирования. Стиль один к одному, поддерживаемый SctpChannel и SctpServerChannel, и стиль один ко многим, поддерживаемый SctpMultiChannel. Семантика интерфейса стиля один к одному очень похожа на TCP. SctpChannel может управлять только одной SCTP ассоциацией. Семантика интерфейса стиля один ко многим очень похожа на UDP. SctpMutliChannel может управлять несколькими SCTP ассоциациями.
Приложения могут отправлять и получать дополнительную информацию о сообщении на сообщение через MessageInfo. Например, номер потока, из которого сообщение должно быть отправлено или получено. Стек SCTP работает по принципу событий, и приложения могут получать уведомления о определённых событиях SCTP, вызывая метод receive канала SCTP с соответствующим notification handler.
Протокол SCTP определён в RFC4960, а необязательное расширение для динамической переконфигурации адресов — в RFC5061.
- Since:
- 1.7
| Класс | Описание |
|---|---|
| AbstractNotificationHandler<T> | Схематичный обработчик, который потребляет уведомления и продолжает работу. |
| Association | Класс, представляющий SCTP ассоциацию. |
| AssociationChangeNotification | Уведомление, генерируемое при открытии или закрытии ассоциации. |
| AssociationChangeNotification.AssocChangeEvent | Определяет тип события изменения, произошедшего с ассоциацией. |
| HandlerResult | Определяет результаты обработки уведомлений. |
| IllegalReceiveException | Исключение, которое выбрасывается при попытке вызвать метод receive SctpChannel или SctpMultiChannel из обработчика уведомлений. |
| IllegalUnbindException | Исключение, которое выбрасывается при попытке удалить адрес, который не привязан к каналу, или удалить адрес из канала, к которому привязан только один адрес. |
| InvalidStreamException | Исключение, которое выбрасывается при попытке отправить сообщение в неверный поток. |
| MessageInfo | Класс MessageInfo предоставляет дополнительную вспомогательную информацию о сообщениях. |
| Notification | Уведомление от стека SCTP. |
| NotificationHandler<T> | Обработчик для потребления уведомлений из стека SCTP. |
| PeerAddressChangeNotification | Уведомление, которое генерируется, когда целевой адрес на многоадресном узле претерпевает изменения. |
| PeerAddressChangeNotification.AddressChangeEvent | Определяет тип события изменения адреса, которое произошло с целевым адресом на многоадресном узле при изменении интерфейсных деталей. |
| SctpChannel | Выбираемый канал для сокетов SCTP, ориентированных на сообщения, с подключением. |
| SctpMultiChannel | Выбираемый канал для сокетов SCTP, ориентированных на сообщения. |
| SctpServerChannel | Выбираемый канал для прослушивающих сокетов SCTP, ориентированных на сообщения. |
| SctpSocketOption<T> | Параметр сокета, связанный с каналом SCTP. |
| SctpStandardSocketOptions | Каналы SCTP поддерживают параметры сокета, определённые этим классом (а также те, которые перечислены в конкретном классе канала), и могут поддерживать дополнительные параметры сокета, специфичные для реализации. |
| SctpStandardSocketOptions.InitMaxStreams | Этот класс используется для установки максимального числа входящих/исходящих потоков, используемых локальной конечной точкой во время инициализации ассоциации. |
| SendFailedNotification | Уведомление, которое генерируется, когда произошла неудача отправки. |
| ShutdownNotification | Уведомление, генерируемое, когда псевдоним закрывает ассоциацию. |
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.sctp/com/sun/nio/sctp/package-summary.html