Ich arbeite an einem Spring WebSocket-Stomp-Client für meinen WebSocket-Server und erhalte widersprüchliche Informationen. Ich habe zwei Wege gefunden, um es zum Laufen zu bringen und ohne zu sehr ins Detail zu gehen, habe ich mich gefragt, welcher Weg als der "richtige" Weg zur Implementierung des Clients angesehen wird.
Könnte jemand mir helfen zu verstehen, wofür der WebSocketConnectionManager eigentlich ist?
Noch eine Frage, wie halte ich die Websocket-Verbindung offen und das Programm läuft, um neue Nachrichten zu akzeptieren, ohne die Zeile System.in.read () schreiben zu müssen.
1'ste Weg: Verwenden Sie den SockJsClient direkt
%Vor%2. Weg: Verwenden des WebSocketConnectionManager
%Vor% Ich weiß, dass ich das mit den Annotationen für @Configuration
und @Bean
viel einfacher machen könnte, aber ich versuche eine "rohe" Implementierung zu machen, damit ich verstehen kann, wie alles zusammenarbeitet.
Ein wenig mehr Informationen:
%Vor%Wenn es interessant ist Spring Integration bietet eine Implementierung für die WebSocketClient .
Und ja, intern verwendet es ConnectionManagerSupport
.
Hier ist ein test-case , die zeigen, wie man es von @Configuration
aus konfiguriert.
Aber ich denke, Sie sollten es mit der Out-of-the-Box-Version WebSocketHandler
implementation - SubProtocolWebSocketHandler
und StompSubProtocolHandler
versuchen.
Tags und Links java spring spring-websocket