将废弃的ServerHandshakeStateEvent.HANDSHAKE_COMPLETE升级为HandshakeComplete

This commit is contained in:
limeng
2023-07-06 16:28:09 +08:00
parent a663583490
commit cc3a764aaf
2 changed files with 5 additions and 3 deletions

View File

@@ -19,11 +19,12 @@ public class HttpHeadersHandler extends ChannelInboundHandlerAdapter {
// 获取token参数
String token = urlBuilder.getQuery().get("token").toString();
NettyUtil.setAttr(ctx.channel(), NettyUtil.TOKEN, token);
//NettyUtil.setAttr(ctx.channel(), NettyUtil.TOKEN, token);
// 获取请求路径
request.setUri(urlBuilder.getPath().toString());
HttpHeaders headers = request.headers();
headers.set("token", token);
String ip = headers.get("X-Real-IP");
if (StringUtils.isEmpty(ip)) {//如果没经过nginx就直接获取远端地址
InetSocketAddress address = (InetSocketAddress) ctx.channel().remoteAddress();

View File

@@ -67,9 +67,10 @@ public class NettyWebSocketServerHandler extends SimpleChannelInboundHandler<Tex
// 关闭用户的连接
userOffLine(ctx);
}
} else if (evt == WebSocketServerProtocolHandler.ServerHandshakeStateEvent.HANDSHAKE_COMPLETE) {
} else if (evt instanceof WebSocketServerProtocolHandler.HandshakeComplete) {
this.webSocketService.connect(ctx.channel());
String token = NettyUtil.getAttr(ctx.channel(), NettyUtil.TOKEN);
WebSocketServerProtocolHandler.HandshakeComplete handshakeComplete = (WebSocketServerProtocolHandler.HandshakeComplete)evt;
String token = handshakeComplete.requestHeaders().get("token");
if (StrUtil.isNotBlank(token)) {
this.webSocketService.authorize(ctx.channel(), new WSAuthorize(token));
}