Пакет 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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/jdk.sctp/com/sun/nio/sctp/package-summary.html