-
- Enclosing interface:
- WebSocket
public static interface WebSocket.Builder
用于创建WebSocket
实例的构建器。
Incubating Feature.将在以后的版本中删除。要构建
WebSocket
, create建设者,将其配置为需要通过调用中间的方法(即返回建设者本身的),然后最后调用buildAsync()
获得CompletableFuture
,导致WebSocket
。如果未调用中间方法,则将使用适当的默认值(或行为)。 除非另有说明,否则重复调用中间方法将覆盖先前的值(或覆盖先前的行为)。
Builder
实例对于没有外部同步的多个线程使用是不安全的。- 从以下版本开始:
- 9
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 CompletableFuture<WebSocket>
buildAsync()
构建一个WebSocket
。WebSocket.Builder
connectTimeout(Duration timeout)
设置开启握手的超时。WebSocket.Builder
header(String name, String value)
将给定的名称 - 值对添加到开启握手的附加标题列表中。WebSocket.Builder
subprotocols(String mostPreferred, String... lesserPreferred)
在开放握手期间包括给定子协议的请求。
-
-
-
方法详细信息
-
header
WebSocket.Builder header(String name, String value)
将给定的名称 - 值对添加到开启握手的附加标题列表中。不允许在WebSocket协议中定义的头文件。
- 参数
-
name
- 标题名称 -
value
- 标头值 - 结果
- 这个建设者
-
subprotocols
WebSocket.Builder subprotocols(String mostPreferred, String... lesserPreferred)
在开放握手期间包括给定子协议的请求。在所请求的子协议中,最多一个将被服务器选择。 该子协议可从
WebSocket.getSubprotocol()
获得 。 子协议以优先级顺序指定。每个给定的子协议必须符合WebSocket协议中定义的相关规则。
如果未调用此方法,则不会请求子协议。
- 参数
-
mostPreferred
- 最优选的子协议 -
lesserPreferred
- 较不优选的子协议,最不喜欢的是子协议 - 结果
- 这个建设者
-
connectTimeout
WebSocket.Builder connectTimeout(Duration timeout)
设置开启握手的超时。如果开口握手未在规定的时间内完成,则
CompletableFuture
从返回buildAsync()
完成非常有HttpTimeoutException
。如果此方法未被调用,那么超时被认为是无限的。
-
buildAsync
CompletableFuture<WebSocket> buildAsync()
建一个WebSocket
。返回一个
CompletableFuture<WebSocket>
,它在WebSocket
连接时正常完成,或者如果发生错误则异常完成。CompletableFuture
可能会出现以下错误:-
IOException
- 如果发生I / O错误 -
WebSocketHandshakeException
- 如果开锁握手失败 -
HttpTimeoutException
- 如果开放握手在指定的duration内未完成 -
InterruptedException
- 如果操作中断 -
SecurityException
- 如果设置了安全管理员,并且调用者没有用于WebSocket URI的URLPermission
-
IllegalArgumentException
- 如果任何额外的headers
是非法的; 或者违反与subprotocols
相关的任何WebSocket协议规则; 或如果connect timeout
无效;
- 结果
-
一个
CompletableFuture
与WebSocket
-
-
-