- 封装的接口:
-
WebSocket
public static interface WebSocket.Builder
一个WebSocket客户端的构建器。
通过调用HttpClient.newWebSocketBuilder
来创建构建器。中间(类似setter)方法会改变构建器的状态,并返回调用它们的相同构建器。如果未调用中间方法,则会假定适当的默认值(或行为)。Builder
在没有外部同步的情况下不能被多个线程安全使用。
- 自 JDK 版本:
- 11
-
Method Summary
Modifier and TypeMethodDescriptionbuildAsync
(URI uri, WebSocket.Listener listener) connectTimeout
(Duration timeout) 设置建立WebSocket连接的超时时间。将给定的名称-值对添加到在握手期间发送的额外HTTP标头列表中。subprotocols
(String mostPreferred, String... lesserPreferred) 设置对给定子协议的请求。
-
Method Details
-
header
将给定的名称-值对添加到在握手期间发送的额外HTTP标头列表中。在WebSocket协议中定义的标头是非法的。如果未调用此方法,则不会发送任何额外的HTTP标头。
- 参数:
-
name
- 标头名称 -
value
- 标头值 - 返回:
- 此构建器
-
connectTimeout
设置建立WebSocket连接的超时时间。如果在指定的持续时间内未建立连接,则构建
WebSocket
将失败,并显示HttpTimeoutException
。如果未调用此方法,则假定为无限超时。 -
subprotocols
设置对给定子协议的请求。在构建
WebSocket
之后,可以通过WebSocket.getSubprotocol()
查询实际子协议。子协议按优先顺序指定。最优先的子协议首先指定。如果有任何其他子协议,则从最优先到最不优先枚举它们。
不符合子协议标识符语法的子协议是非法的。如果未调用此方法,则不会请求任何子协议。
- 参数:
-
mostPreferred
- 最优先的子协议 -
lesserPreferred
- 较不优先的子协议 - 返回:
- 此构建器
-
buildAsync
构建一个连接到给定URI
并与给定Listener
关联的WebSocket
。返回一个
CompletableFuture
,它将正常完成并显示生成的WebSocket
,或者在以下错误之一异常完成:IOException
- 如果发生I/O错误WebSocketHandshakeException
- 如果握手失败HttpTimeoutException
- 如果握手在超时时间内未完成InterruptedException
- 如果操作被中断SecurityException
- 如果安装了安全管理器并且它拒绝对uri
的访问
。有关与调用侦听器的安全上下文相关的更多信息,请参阅安全检查。IllegalArgumentException
- 如果此构建器方法的任何参数是非法的
- 参数:
-
uri
- WebSocket URI -
listener
- 侦听器 - 返回:
-
带有
WebSocket
的CompletableFuture
-