首页 > 解决方案 > 如何从断开消息中获取目的地?

问题描述

我在 Spring Boot 上有一个 WebSocket 应用程序。我使用 STOMP,当用户关闭选项卡(从 WS 断开连接)时,我需要获取目标路径。@EventListener我用或从ChannelInterceptor和覆盖断开连接preSend()

我尝试了很多方法 - StompHeaderAccessor.getDestination()SessionDisconnectEvent.getMessage().getHeaders().get("simpDestination")等,但它们都返回 null。有没有一种可行的方法来获取路径?也许不使用拦截器,以某种方式不同?

标签: javaspringwebsocketstomp

解决方案


我无法谈论 Spring 的细节,但我认为您想要的信息无法从 Stomp 的角度获得。正如Stomp 1.2 规范中所述,DISCONNECT帧不使用任何类型的目标标头。唯一可能的标题是receipt. 这里解释了收据的语义。


推荐阅读