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