首先利用反射获取方法字段,然后取得字段的值文章来源:https://www.toymoban.com/news/detail-796014.html
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);
}
}
}
获取的字段值文章来源地址https://www.toymoban.com/news/detail-796014.html
-
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帧。
到了这里,关于利用反射获取websocket,session字段的值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!