首先利用反射獲取方法字段,然后取得字段的值文章來源:http://www.zghlxwxcb.cn/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); // 設(shè)置私有字段可訪問
Object fieldValue = declaredField.get(session1);
log.info("字段名:" + declaredField.getName() + ",字段值:" + fieldValue);
}
}
}
獲取的字段值文章來源地址http://www.zghlxwxcb.cn/news/detail-796014.html
-
webSocketContainer
:WebSocket容器,用于管理WebSocket連接。 -
requestUri
:請求的URI,即WebSocket的URL。 -
requestParameterMap
:請求的參數(shù)映射,包含從URL中提取的參數(shù)。 -
queryString
:查詢字符串,即URL中的參數(shù)部分。 -
userPrincipal
:用戶主體,表示與WebSocket連接關(guān)聯(lián)的用戶身份信息。 -
endpointConfig
:端點配置,包含與WebSocket端點相關(guān)的配置信息。 -
negotiatedExtensions
:協(xié)商的擴展,表示與客戶端協(xié)商的WebSocket擴展。 -
subProtocol
:子協(xié)議,表示與客戶端協(xié)商的WebSocket子協(xié)議。 -
pathParameters
:路徑參數(shù),包含從URL路徑中提取的參數(shù)。 -
secure
:是否使用安全連接(HTTPS)。 -
httpSessionId
:HTTP會話ID,表示與WebSocket連接關(guān)聯(lián)的HTTP會話ID。 -
id
:連接ID,表示W(wǎng)ebSocket連接的唯一標(biāo)識符。 -
textMessageHandler
:文本消息處理器,用于處理接收到的文本消息。 -
binaryMessageHandler
:二進(jìn)制消息處理器,用于處理接收到的二進(jìn)制消息。 -
pongMessageHandler
:Pong消息處理器,用于處理接收到的Pong消息。 -
state
:連接狀態(tài),表示W(wǎng)ebSocket連接的狀態(tài)(如OPEN、CLOSED等)。 -
userProperties
:用戶屬性,用于存儲與WebSocket連接相關(guān)的自定義屬性。 -
maxBinaryMessageBufferSize
:最大二進(jìn)制消息緩沖區(qū)大小。 -
maxTextMessageBufferSize
:最大文本消息緩沖區(qū)大小。 -
maxIdleTimeout
:最大空閑超時時間,表示在沒有活動的情況下保持連接的最長時間。 -
lastActiveRead
:上次讀取活動的時間戳。 -
lastActiveWrite
:上次寫入活動的時間戳。 -
futures
:未來對象,用于處理與WebSocket連接相關(guān)的異步操作。 -
wsFrame
:WebSocket幀,表示當(dāng)前正在處理的WebSocket幀。
到了這里,關(guān)于利用反射獲取websocket,session字段的值的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!