Spec-Zone.ru › OpenJDK 27

Интерфейс WebSocket.Builder

Охватывающий интерфейс:
WebSocket
public static interface WebSocket.Builder
Построитель клиентов WebSocket.

Построители создаются вызовом HttpClient.newWebSocketBuilder. Промежуточные методы (подобные сеттерам) изменяют состояние построителя и возвращают тот же построитель, для которого они были вызваны. Если промежуточный метод не вызывается, используется соответствующее значение (или поведение) по умолчанию. Builder нельзя безопасно использовать в нескольких потоках без внешней синхронизации.

Начиная с версии:
11

Краткое описание методов

Модификатор и тип Метод Описание
CompletableFuture<WebSocket> buildAsync(URI uri, WebSocket.Listener listener)
Создает WebSocket, подключенный к указанному URI и связанный с указанным Listener.
WebSocket.Builder connectTimeout(Duration timeout)
Задает время ожидания установления соединения WebSocket.
WebSocket.Builder header(String name, String value)
Добавляет указанную пару имя-значение в список дополнительных HTTP-заголовков, отправляемых во время начального рукопожатия.
WebSocket.Builder subprotocols(String mostPreferred, String... lesserPreferred)
Задает запрос для указанных подпротоколов.

Подробное описание методов

header

WebSocket.Builder header(String name, String value)
Добавляет указанную пару имя-значение в список дополнительных HTTP-заголовков, отправляемых во время начального рукопожатия.

Заголовки, определенные в протоколе WebSocket, недопустимы. Если этот метод не вызывается, дополнительные HTTP-заголовки отправляться не будут.

Параметры:
name — имя заголовка
value — значение заголовка
Возвращает:
этот построитель

connectTimeout

WebSocket.Builder connectTimeout(Duration timeout)
Задает время ожидания установления соединения WebSocket.

Если соединение не будет установлено в течение указанного времени, создание WebSocket завершится ошибкой HttpTimeoutException. Если этот метод не вызывается, предполагается бесконечное время ожидания.

Требования к реализации:
Время ожидания соединения применяется ко всей фазе установления соединения — с момента запроса соединения до его установления. Реализациям рекомендуется включать в это время ожидания любые рукопожатия WebSocket и SSL/TLS.
Примечание по реализации:
Встроенная реализация JDK включает в время ожидания соединения любые рукопожатия WebSocket и SSL/TLS.
Параметры:
timeout — время ожидания, не отрицательное и не равное ZERO
Возвращает:
этот построитель

subprotocols

WebSocket.Builder subprotocols(String mostPreferred, String... lesserPreferred)
Задает запрос для указанных подпротоколов.

После создания WebSocket фактический подпротокол можно получить с помощью WebSocket.getSubprotocol().

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

Подпротоколы, не соответствующие синтаксису идентификаторов подпротоколов, недопустимы. Если этот метод не вызывается, запрос подпротоколов отправляться не будет.

Параметры:
mostPreferred — наиболее предпочтительный подпротокол
lesserPreferred — менее предпочтительные подпротоколы
Возвращает:
этот построитель

buildAsync

CompletableFuture<WebSocket> buildAsync(URI uri, WebSocket.Listener listener)
Создает WebSocket, подключенный к указанному URI и связанный с указанным Listener.

Возвращает CompletableFuture, который либо успешно завершится с результатом WebSocket, либо завершится исключением с одной из следующих ошибок:

  • IOException — если произошла ошибка ввода-вывода
  • WebSocketHandshakeException — если начальное рукопожатие завершилось неудачно
  • HttpTimeoutException — если начальное рукопожатие не завершилось за отведенное время
  • InterruptedException — если выполнение операции было прервано
  • IllegalArgumentException — если какой-либо аргумент методов этого построителя недопустим
Параметры:
uri — URI WebSocket
listener — прослушиватель
Возвращает:
CompletableFuture с WebSocket

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API