public class WebSocketServerHandshaker00 extends WebSocketServerHandshaker
针对网络套接字规范版本draft-ietf-hybi-thewebsocketprotocol- 00执行服务器端打开和关闭握手
这个代码的很大一部分来自Netty 3.2 HTTP示例。
logger, SUB_PROTOCOL_WILDCARD
Constructor and Description |
---|
WebSocketServerHandshaker00(java.lang.String webSocketURL, java.lang.String subprotocols, int maxFramePayloadLength)
指定目标Web套接字位置的构造函数
|
Modifier and Type | Method and Description |
---|---|
ChannelFuture |
close(Channel channel, CloseWebSocketFrame frame, ChannelPromise promise)
回显结束帧
|
protected FullHttpResponse |
newHandshakeResponse(FullHttpRequest req, HttpHeaders headers)
处理Web套接字规范
HyBi version 0及更低版本的Web套接字握手。
|
protected WebSocketFrameDecoder |
newWebsocketDecoder()
返回握手完成后使用的解码器。
|
protected WebSocketFrameEncoder |
newWebSocketEncoder()
返回握手完成后使用的编码器。
|
close, handshake, handshake, handshake, handshake, maxFramePayloadLength, selectedSubprotocol, selectSubprotocol, subprotocols, uri, version
public WebSocketServerHandshaker00(java.lang.String webSocketURL, java.lang.String subprotocols, int maxFramePayloadLength)
webSocketURL
- 网络套接字通信的URL。
例如“ws://myhost.com/mypath”。
后续的网络套接字帧将被发送到这个URL。
subprotocols
- 支持的协议的CSV
maxFramePayloadLength
- 允许的最大帧有效载荷长度。
将此值设置为应用程序的要求可能会减少使用长数据帧的拒绝服务攻击。
protected FullHttpResponse newHandshakeResponse(FullHttpRequest req, HttpHeaders headers)
处理Web套接字规范HyBi version 0及更低版本的Web套接字握手。 这个标准实际上是hixie-76和hixie-75的重复。
浏览器请求到服务器:
GET /demo HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: example.com
Origin: http://example.com
Sec-WebSocket-Protocol: chat, sample
Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5
Sec-WebSocket-Key2: 12998 5 Y3 1 .P00
^n:ds[4U
服务器响应:
HTTP/1.1 101 WebSocket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Origin: http://example.com
Sec-WebSocket-Location: ws://example.com/demo
Sec-WebSocket-Protocol: sample
8jKS'y:G*Co,Wxa-
newHandshakeResponse
在课堂
WebSocketServerHandshaker
public ChannelFuture close(Channel channel, CloseWebSocketFrame frame, ChannelPromise promise)
close
在课程
WebSocketServerHandshaker
channel
- 频道
frame
- 收到的Web Socket帧
promise
- ChannelPromise
在完成握手时收到通知
protected WebSocketFrameDecoder newWebsocketDecoder()
WebSocketServerHandshaker
newWebsocketDecoder
在课程
WebSocketServerHandshaker
protected WebSocketFrameEncoder newWebSocketEncoder()
WebSocketServerHandshaker
newWebSocketEncoder
在课堂上
WebSocketServerHandshaker
Copyright © 2008–2018 The Netty Project. All rights reserved.