Пакет com.sun.nio.sctp
Протокол транспортировки потоков (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.
- Начиная с:
- 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.sctp/com/sun/nio/sctp/package-summary.html