如何在春季WebSocketStompClient中获取会话ID?
2022-09-05 00:15:16
如何在Java Spring WebSocketStompClient中获取会话ID?
我有WebSocketStompClient和StompSessionHandlerAdapter,它们实例可以很好地连接到我服务器上的websocket。WebSocketStompClient 使用 SockJsClient.
但我不知道如何获取websocket连接的会话ID。在客户端具有单踏会话处理程序的代码中
private class ProducerStompSessionHandler extends StompSessionHandlerAdapter {
...
@Override
public void afterConnected(StompSession session, StompHeaders connectedHeaders) {
...
}
stomp 会话包含会话 ID,它与服务器上的会话 ID 不同。所以从这个ids:
DEBUG ... Processing SockJS open frame in WebSocketClientSockJsSession[id='d6aaeacf90b84278b358528e7d96454a...
DEBUG ... DefaultStompSession - Connection established in session id=42e95c88-cbc9-642d-2ff9-e5c98fb85754
我需要第一个会话ID,来自WebSocketClientSockJsSession。但是我没有在WebSocketStompClient或SockJsClient中找到任何方法来检索诸如会话id之类的东西...