java Netty 4.0:检测Websocket握手是否完成
我想重构一个旧的Netty 3。将websocket服务器升级到新版本4.0。Websocket握手完成后,我需要向客户发送“欢迎信息”。也许有人能给我一个提示,如何在websocket连接准备就绪后立即通知我?我在玩websocket server example
你可以在下面搜索框中键入要查询的问题!
我想重构一个旧的Netty 3。将websocket服务器升级到新版本4.0。Websocket握手完成后,我需要向客户发送“欢迎信息”。也许有人能给我一个提示,如何在websocket连接准备就绪后立即通知我?我在玩websocket server example
# 1 楼答案
如果Websocket握手完成,Netty将引发一个用户事件
见https://github.com/netty/netty/blob/netty-4.1.51.Final/codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocketServerProtocolHandshakeHandler.java#L101
Netty 4.0中的UserEvent是
WebSocketServerProtocolHandler.ServerHandshakeStateEvent.HANDSHAKE_COMPLETE
,Netty 4.1中的UserEvent是WebSocketServerProtocolHandler.HandshakeComplete
您可以在WebSocketHandler中重写
userEventTriggered
方法:# 2 楼答案
WebSocketServerHandshaker.handshake()
返回一个ChannelFuture
,在握手完成时收到通知