我有一个 spring boot rsocket 实现,如果客户端取消或关闭他们的 rsocket 请求,那么我想取消服务器上的其他订阅注册。
在 Spring Boot 服务器上的日志中,我可以看到发送或接收了一条取消消息:
WARN i.r.t.n.s.WebsocketServerTransport$1 [reactor-http-nio-3] received WebSocket Close Frame - connection is closing
INFO r.u.Loggers$Slf4JLogger [reactor-http-nio-3] cancel()
如何捕获和处理此取消信号?
我尝试取消端点,但这些没有捕获信号:
@MessageMapping("cancel")
Flux<Object> onCancel() {
log.info("Captured cancel signal");
}
或者
@ConnectMapping("cancel")
Flux<Object> onCancel2() {
log.info("Captured cancel2 signal");
}
这个关于取消订阅的问题可能是相关的,这个关于检测 websocket 断开连接的问题