public abstract class WebSocketServerHandshaker
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static io.netty.util.internal.logging.InternalLogger |
logger |
static java.lang.String |
SUB_PROTOCOL_WILDCARD
将其用作通配符来支持所有请求的子协议
|
Modifier | Constructor and Description |
---|---|
protected |
WebSocketServerHandshaker(WebSocketVersion version, java.lang.String uri, java.lang.String subprotocols, int maxFramePayloadLength)
指定目标Web套接字位置的构造函数
|
Modifier and Type | Method and Description |
---|---|
ChannelFuture |
close(Channel channel, CloseWebSocketFrame frame)
执行关闭握手
|
ChannelFuture |
close(Channel channel, CloseWebSocketFrame frame, ChannelPromise promise)
执行关闭握手
|
ChannelFuture |
handshake(Channel channel, FullHttpRequest req)
执行开始握手。
|
ChannelFuture |
handshake(Channel channel, FullHttpRequest req, HttpHeaders responseHeaders, ChannelPromise promise)
执行打开握手当调用此方法必须不保留 FullHttpRequest 这是在过去。
|
ChannelFuture |
handshake(Channel channel, HttpRequest req)
执行开始握手。
|
ChannelFuture |
handshake(Channel channel, HttpRequest req, HttpHeaders responseHeaders, ChannelPromise promise)
执行打开握手当调用此方法必须不保留 HttpRequest 这是在过去。
|
int |
maxFramePayloadLength()
获取任何帧的有效载荷的最大长度。
|
protected abstract FullHttpResponse |
newHandshakeResponse(FullHttpRequest req, HttpHeaders responseHeaders)
返回将用于响应握手请求的新{@link FullHttpResponse)。
|
protected abstract WebSocketFrameDecoder |
newWebsocketDecoder()
返回握手完成后使用的解码器。
|
protected abstract WebSocketFrameEncoder |
newWebSocketEncoder()
返回握手完成后使用的编码器。
|
java.lang.String |
selectedSubprotocol()
返回选定的子协议。
|
protected java.lang.String |
selectSubprotocol(java.lang.String requestedSubprotocols)
选择第一个匹配的支持的子协议
|
java.util.Set<java.lang.String> |
subprotocols()
返回支持的子协议的CSV
|
java.lang.String |
uri()
返回Web套接字的URL
|
WebSocketVersion |
version()
返回支持的规范版本
|
protected static final io.netty.util.internal.logging.InternalLogger logger
public static final java.lang.String SUB_PROTOCOL_WILDCARD
protected WebSocketServerHandshaker(WebSocketVersion version, java.lang.String uri, java.lang.String subprotocols, int maxFramePayloadLength)
version
- 协议版本
uri
- 网络套接字通信的URL。
例如“ws://myhost.com/mypath”。
后续的网络套接字帧将被发送到这个URL。
subprotocols
- 支持的协议的CSV。
如果不支持子协议,则为空。
maxFramePayloadLength
- 帧有效负载的最大长度
public java.lang.String uri()
public java.util.Set<java.lang.String> subprotocols()
public WebSocketVersion version()
public int maxFramePayloadLength()
public ChannelFuture handshake(Channel channel, FullHttpRequest req)
FullHttpRequest
。
channel
- 频道
req
- HTTP请求
ChannelFuture
public final ChannelFuture handshake(Channel channel, FullHttpRequest req, HttpHeaders responseHeaders, ChannelPromise promise)
FullHttpRequest
这是在过去。
channel
- 频道
req
- HTTP请求
responseHeaders
- 额外的头添加到握手响应或
null
如果没有额外的头应该被添加
promise
- ChannelPromise
在开放握手完成时通知
ChannelFuture
这是开放握手完成时通知
public ChannelFuture handshake(Channel channel, HttpRequest req)
FullHttpRequest
。
channel
- 频道
req
- HTTP请求
ChannelFuture
public final ChannelFuture handshake(Channel channel, HttpRequest req, HttpHeaders responseHeaders, ChannelPromise promise)
HttpRequest
。
channel
- 频道
req
- HTTP请求
responseHeaders
- 额外的头添加到握手响应或
null
如果没有额外的头应该被添加
promise
- ChannelPromise
在开始握手完成时通知
ChannelFuture
,当开放握手完成时通知
protected abstract FullHttpResponse newHandshakeResponse(FullHttpRequest req, HttpHeaders responseHeaders)
public ChannelFuture close(Channel channel, CloseWebSocketFrame frame)
channel
- 频道
frame
- 收到已收到的帧
public ChannelFuture close(Channel channel, CloseWebSocketFrame frame, ChannelPromise promise)
channel
- 频道
frame
- 已收到关闭帧
promise
- ChannelPromise
关闭握手完成时通知
protected java.lang.String selectSubprotocol(java.lang.String requestedSubprotocols)
requestedSubprotocols
- 要支持的协议的CSV。
例如“聊天,超级聊天”
public java.lang.String selectedSubprotocol()
这仅在调用handshake()后才可用。
protected abstract WebSocketFrameDecoder newWebsocketDecoder()
protected abstract WebSocketFrameEncoder newWebSocketEncoder()
Copyright © 2008–2018 The Netty Project. All rights reserved.