Ich habe ziemlich viel gesucht und konnte das nicht finden: Gibt es eine Möglichkeit, dass ein Feder-Websocket-Stomp-Server einen Client basierend auf der Session-ID trennen kann (oder wirklich auf irgendetwas basiert)?
Es scheint mir, dass, sobald ein Client sich mit einem Server verbindet, nichts den Server vom Client trennen lässt.
Soweit ich weiß, bietet die API nicht das, was Sie suchen. Auf der Serverseite können Sie nur Trennereignisse erkennen. Wenn Sie einen bestimmten Client trennen möchten, müssen Sie eine kleine Problemumgehung, z. dieser:
Die Problemumgehung ist ein wenig umständlich, aber es funktioniert.
Mit einigen Workarounds können Sie erreichen, was Sie wollen. Dafür sollten Sie tun:
Ich habe ein Beispiel für ein Spring-Boot-Projekt erstellt, um zu zeigen, wie wir die Client-Sitzung von der Serverseite trennen können: Ссылка
Sie können die Sitzung auch trennen, indem Sie eine benutzerdefinierte WebSocketHandlerDecorator
:
Tags und Links spring spring-websocket spring-boot stomp