Пакет 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, 2021, 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/17/docs/api/jdk.sctp/com/sun/nio/sctp/package-summary.html