Интерфейс WebSocket.Builder
- Включающий интерфейс:
- WebSocket
public static interface WebSocket.Builder
Построитель клиентов WebSocket.
Построители создаются путём вызова HttpClient.newWebSocketBuilder. Промежуточные (похожие на сеттеры) методы изменяют состояние построителя и возвращают тот же построитель, на котором они были вызваны. Если промежуточный метод не вызывается, предполагается соответствующее значение по умолчанию (или поведение). Построитель Builder не безопасен для использования в нескольких потоках без внешней синхронизации.
- С тех пор:
- 11
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
CompletableFuture<WebSocket> | buildAsync(URI uri,
WebSocket.Listener 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. Если этот метод не вызывается, предполагается бесконечный таймаут.
- Параметры:
timeout— таймаут, неотрицательное, неравное нулю значение- Возвращает:
- этот построитель
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— если операция была прерванаSecurityException— если установлен менеджер безопасности и он запрещаетaccessдляuri. Проверки безопасности содержат дополнительную информацию, относящуюся к контексту безопасности, в котором вызывается слушатель.IllegalArgumentException— если какой-либо из аргументов методов этого построителя некорректен
- Параметры:
uri— URI WebSocketlistener— слушатель- Возвращает:
- а
CompletableFutureсWebSocket
© 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/java.net.http/java/net/http/WebSocket.Builder.html