很久很久没写博客了,long long ago 了。期间很多经验想记录下来的,都因为种种原因搁置了。今天来记录下netty客户端连接时的传参问题。
1、使用场景
后端需要记录登录人和通道id,希望可以指定人员发送消息
2、使用思路
前端在socket连接的时候,将人员id放到路径ip的后面,格式如下:
ip/自定义名称?人员id。
然后后端在建立连接时,监测是否首次连接,如果是,则提取出请求url,截取到需要的人员id,存储到map中(并发场景下使用ConcurrentHashMap)。
3、错误示例
如果不做其他修改,你会发现原来可以请求成功的地址,加了这个后就无法建立连接了。因为WebSocketServerProtocolHandler默认是路径全检测,即设置的websocketPath和url进行完全比对,一致后才会通过验证。
4、修改点
配置的WebSocketServerProtocolHandler中增加两个属性,使用如下的重载方法:

这两个属性如下配置:

这样就是仅检测前部分的地址了。
netty客户端连接时传递参数问题
最新推荐文章于 2026-03-31 02:41:21 发布
本文介绍了如何在Netty中处理WebSocket客户端连接时传递额外参数,特别是人员id。通过在连接URL中添加人员id,并调整WebSocketServerProtocolHandler的配置,允许路径部分匹配,解决了连接验证失败的问题。文章详细讲解了错误示例、解决方案及配置修改点,为后端记录登录信息提供了实现思路。

1018

被折叠的 条评论
为什么被折叠?



