利用反射获取websocket,session字段的值

首先利用反射获取方法字段,然后取得字段的值

   private static ConcurrentHashMap<String, Session> map = new ConcurrentHashMap<>();

    @OnOpen
    public void onOpen(Session session) throws IllegalAccessException {
        log.info(session.getId() + "开始连接");
        map.put(session.getId(), session);
        for (String s : map.keySet()) {
            Session session1 = map.get(s);
            Class<? extends Session> sessionClass = session1.getClass();
            for (Field declaredField : sessionClass.getDeclaredFields()) {
                declaredField.setAccessible(true); // 设置私有字段可访问
                Object fieldValue = declaredField.get(session1);
                log.info("字段名:" + declaredField.getName() + ",字段值:" + fieldValue);
            }
        }
    }

获取的字段值

  • webSocketContainer:WebSocket容器,用于管理WebSocket连接。
  • requestUri:请求的URI,即WebSocket的URL。
  • requestParameterMap:请求的参数映射,包含从URL中提取的参数。
  • queryString:查询字符串,即URL中的参数部分。
  • userPrincipal:用户主体,表示与WebSocket连接关联的用户身份信息。
  • endpointConfig:端点配置,包含与WebSocket端点相关的配置信息。
  • negotiatedExtensions:协商的扩展,表示与客户端协商的WebSocket扩展。
  • subProtocol:子协议,表示与客户端协商的WebSocket子协议。
  • pathParameters:路径参数,包含从URL路径中提取的参数。
  • secure:是否使用安全连接(HTTPS)。
  • httpSessionId:HTTP会话ID,表示与WebSocket连接关联的HTTP会话ID。
  • id:连接ID,表示WebSocket连接的唯一标识符。
  • textMessageHandler:文本消息处理器,用于处理接收到的文本消息。
  • binaryMessageHandler:二进制消息处理器,用于处理接收到的二进制消息。
  • pongMessageHandler:Pong消息处理器,用于处理接收到的Pong消息。
  • state:连接状态,表示WebSocket连接的状态(如OPEN、CLOSED等)。
  • userProperties:用户属性,用于存储与WebSocket连接相关的自定义属性。
  • maxBinaryMessageBufferSize:最大二进制消息缓冲区大小。
  • maxTextMessageBufferSize:最大文本消息缓冲区大小。
  • maxIdleTimeout:最大空闲超时时间,表示在没有活动的情况下保持连接的最长时间。
  • lastActiveRead:上次读取活动的时间戳。
  • lastActiveWrite:上次写入活动的时间戳。
  • futures:未来对象,用于处理与WebSocket连接相关的异步操作。
  • wsFrame:WebSocket帧,表示当前正在处理的WebSocket帧。
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值