Пакет com.sun.nio.sctp

Java API для протокола Stream Control Transport Protocol.

Протокол Stream Control Transport Protocol (SCTP) — это надежный, ориентированный на сообщения транспортный протокол, существующий на уровне, эквивалентном UDP (протоколу пользовательских дейтаграмм) и TCP (протоколу управления передачей). SCTP ориентирован на сеансы, и ассоциация между конечными точками должна быть установлена перед передачей любых данных.

SCTP напрямую поддерживает многодомашность, что означает, что конечная точка может быть представлена более чем одним адресом, и каждый адрес может использоваться для отправки и получения данных, обеспечивая тем самым избыточность сети. Связь между двумя конечными точками называется ассоциацией между этими конечными точками. Конечные точки могут обмениваться списком адресов во время установления ассоциации. Один адрес обозначается как первичный адрес, это — адрес по умолчанию, который peer будет использовать для отправки данных. Единственный номер порта используется по всему списку адресов на конечной точке для определенного сеанса.

SCTP основан на сообщениях. Операции ввода-вывода выполняются над сообщениями, и границы сообщений сохраняются. Каждая ассоциация может поддерживать несколько независимых логических потоков. Каждый поток представляет собой последовательность сообщений в пределах одной ассоциации, и потоки независимы друг от друга, что означает, что идентификаторы потоков и номера последовательности включены в пакет данных, чтобы обеспечить упорядочение сообщений на основе каждого потока.

Этот пакет предоставляет два стиля программирования. Стиль один-к-одному, поддерживаемый SctpChannel и SctpServerChannel, и стиль один-ко-многим, поддерживаемый SctpMultiChannel. Семантика интерфейса стиля один-к-одному очень похожа на TCP. SctpChannel может управлять только одной ассоциацией SCTP. Семантика интерфейса стиля один-ко-многим очень похожа на UDP. SctpMutliChannel может управлять несколькими ассоциациями SCTP.

Приложения могут отправлять и получать дополнительную информацию к каждому сообщению через MessageInfo. Например, номер потока, из которого должно быть отправлено или получено сообщение. Стек SCTP является событийно-ориентированным, и приложения могут получать уведомления о определенных событиях SCTP, вызывая метод receive канала SCTP с соответствующим notification handler.

Протокол SCTP определен в RFC4960, а необязательное расширение для Динамической переконфигурации адресов определено в RFC5061.

С момента:
1.7
ИнтерфейсОписание
Notification

Уведомление от стека SCTP.

NotificationHandler<T>

Обработчик для обработки уведомлений от стека SCTP.

SctpSocketOption<T>

Опция сокета, связанная с каналом SCTP.

КлассОписание
AbstractNotificationHandler<T>

Каркасный обработчик, который обрабатывает уведомления и продолжает работу.

Association

Класс, представляющий ассоциацию SCTP.

AssociationChangeNotification

Уведомление, генерируемое при открытии или закрытии ассоциации.

MessageInfo

Класс MessageInfo предоставляет дополнительную служебную информацию о сообщениях.

PeerAddressChangeNotification

Уведомление, генерируемое при изменении адреса назначения на многодомашнем peer.

SctpChannel

Выбираемый канал для сокетов SCTP с ориентированными на сообщения соединениями.

SctpMultiChannel

Выбираемый канал для сокетов SCTP с ориентированными на сообщения соединениями.

SctpServerChannel

Выбираемый канал для прослушивающих сокетов SCTP с ориентированными на сообщения соединениями.

SctpStandardSocketOptions

Каналы SCTP поддерживают опции сокета, определенные этим классом (а также те, которые перечислены в конкретном классе канала), и могут поддерживать дополнительные опции сокета, специфичные для реализации.

SctpStandardSocketOptions.InitMaxStreams

Этот класс используется для установки максимального количества входящих/исходящих потоков, используемых локальной конечной точкой во время инициализации ассоциации.

SendFailedNotification

Уведомление, генерируемое при получении уведомления об ошибке отправки.

ShutdownNotification

Уведомление, генерируемое при завершении работы peer и ассоциации.

ПеречислениеОписание
AssociationChangeNotification.AssocChangeEvent

Определяет тип события изменения, произошедшего с ассоциацией.

HandlerResult

Определяет результаты обработки уведомлений.

PeerAddressChangeNotification.AddressChangeEvent

Определяет тип события изменения адреса, произошедшего с адресом назначения на многодомашнем peer при изменении интерфейсных данных.

ИсключениеОписание
IllegalReceiveException

Исключение без проверки, генерируемое при попытке вызвать метод receive метода SctpChannel или SctpMultiChannel из обработчика уведомлений.

IllegalUnbindException

Исключение без проверки, генерируемое при попытке удалить адрес, который не привязан к каналу, или удалить адрес из канала, к которому привязан только один адрес.

InvalidStreamException

Исключение без проверки, генерируемое при попытке отправить сообщение в недействительный поток.

© 1993, 2020, 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/11/docs/api/jdk.sctp/com/sun/nio/sctp/package-summary.html

Spec-Zone .ru
спецификации, руководства, описания, API