public class WebSocketClientHandshaker08 extends WebSocketClientHandshaker
针对网络套接字规范版本draft-ietf-hybi-thewebsocketprotocol- 10执行客户端打开和关闭握手
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MAGIC_GUID |
customHeaders
Constructor and Description |
---|
WebSocketClientHandshaker08(java.net.URI webSocketURL, WebSocketVersion version, java.lang.String subprotocol, boolean allowExtensions, HttpHeaders customHeaders, int maxFramePayloadLength)
创建一个新的实例。
|
WebSocketClientHandshaker08(java.net.URI webSocketURL, WebSocketVersion version, java.lang.String subprotocol, boolean allowExtensions, HttpHeaders customHeaders, int maxFramePayloadLength, boolean performMasking, boolean allowMaskMismatch)
创建一个新的实例。
|
Modifier and Type | Method and Description |
---|---|
protected FullHttpRequest |
newHandshakeRequest()
/ **将打开请求发送到服务器:GET / chat HTTP / 1.1主机:server.example.com升级:websocket连接:升级Sec-WebSocket-Key:dGhlIHNhbXBsZSBub25jZQ == Sec-WebSocket-Origin:http://示例.com Sec-WebSocket协议:聊天,超级聊天Sec-WebSocket-Version:8
|
protected WebSocketFrameDecoder |
newWebsocketDecoder()
返回握手完成后使用的解码器。
|
protected WebSocketFrameEncoder |
newWebSocketEncoder()
返回握手完成后使用的编码器。
|
protected void |
verify(FullHttpResponse response)
进程服务器响应:HTTP / 1.1 101交换协议升级:websocket连接:升级Sec-WebSocket-Accept:s3pPLMBiTxaQ9kYGzzhZRbK + xOo = Sec-WebSocket协议:聊天
|
actualSubprotocol, close, close, expectedSubprotocol, finishHandshake, handshake, handshake, isHandshakeComplete, maxFramePayloadLength, processHandshake, processHandshake, uri, version
public static final java.lang.String MAGIC_GUID
public WebSocketClientHandshaker08(java.net.URI webSocketURL, WebSocketVersion version, java.lang.String subprotocol, boolean allowExtensions, HttpHeaders customHeaders, int maxFramePayloadLength)
webSocketURL
- Web套接字通信的URL。
例如“ws://myhost.com/mypath”。
后续的网络套接字帧将被发送到这个URL。
version
- 用于连接到服务器的Web套接字规范的版本
subprotocol
- 发送到服务器的子协议请求。
allowExtensions
- 允许在web套接字帧的保留位中使用扩展名
customHeaders
- 要添加到客户端请求的自定义标头的映射
maxFramePayloadLength
- 帧有效负载的最大长度
public WebSocketClientHandshaker08(java.net.URI webSocketURL, WebSocketVersion version, java.lang.String subprotocol, boolean allowExtensions, HttpHeaders customHeaders, int maxFramePayloadLength, boolean performMasking, boolean allowMaskMismatch)
webSocketURL
- Web套接字通信的URL。
例如“ws://myhost.com/mypath”。
后续的网络套接字帧将被发送到这个URL。
version
- 用于连接到服务器的Web套接字规范的版本
subprotocol
- 发送到服务器的子协议请求。
allowExtensions
- 允许在web套接字帧的保留位中使用扩展名
customHeaders
- 要添加到客户端请求的自定义标头的映射
maxFramePayloadLength
- 帧有效负载的最大长度
performMasking
- 是否屏蔽所有写入的websocket框架。
这必须设置为true才能完全兼容websocket规范。
与不需要屏蔽的非标准服务器通信的客户端应用程序可能会将其设置为false以实现更高的性能。
allowMaskMismatch
- 设置为true时,仍然会接受根据标准未正确屏蔽的帧。
protected FullHttpRequest newHandshakeRequest()
将开放请求发送到服务器:
GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Origin: http://example.com
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 8
newHandshakeRequest
在
WebSocketClientHandshaker
protected void verify(FullHttpResponse response)
进程服务器响应:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Sec-WebSocket-Protocol: chat
verify
在类
WebSocketClientHandshaker
response
- 从beginOpeningHandshake00()发送的请求从服务器返回的HTTP响应。
WebSocketHandshakeException
protected WebSocketFrameDecoder newWebsocketDecoder()
WebSocketClientHandshaker
newWebsocketDecoder
在类
WebSocketClientHandshaker
protected WebSocketFrameEncoder newWebSocketEncoder()
WebSocketClientHandshaker
newWebSocketEncoder
在课程
WebSocketClientHandshaker
Copyright © 2008–2018 The Netty Project. All rights reserved.