java - 如何从断开消息中获取目的地?
问题描述
我在 Spring Boot 上有一个 WebSocket 应用程序。我使用 STOMP,当用户关闭选项卡(从 WS 断开连接)时,我需要获取目标路径。@EventListener
我用或从ChannelInterceptor
和覆盖断开连接preSend()
。
我尝试了很多方法 - StompHeaderAccessor.getDestination()
、SessionDisconnectEvent.getMessage().getHeaders().get("simpDestination")
等,但它们都返回 null。有没有一种可行的方法来获取路径?也许不使用拦截器,以某种方式不同?
解决方案
我无法谈论 Spring 的细节,但我认为您想要的信息无法从 Stomp 的角度获得。正如Stomp 1.2 规范中所述,DISCONNECT
帧不使用任何类型的目标标头。唯一可能的标题是receipt
. 这里解释了收据的语义。
推荐阅读
- python - 在 Python 中使用多处理进行递归处理
- visual-studio-code - Ballerina Integrator 的问题
- c++ - 在不提供所有权的情况下公开 shared_pointers 的向量
- python - Python-PPTX: KeyError: '这张幻灯片上没有 idx == 1 的占位符'
- react-native - 多次加载组件时如何进行api调用
- r - Travis CI 使用我的使用 C++、Rcpp 和 RcppArmadillo 的 R 包构建错误
- c# - #使用
C++CLI 失败 - plugins - 如何在 shopware 6 中执行特定的计划任务?
- c# - WindowStartupLocation = WindowStartupLocation.CenterScreen 无法正常工作
- excel - 与从 Citrix 加载的 Outlook 共享日历