Frühjahr: Nachricht senden, um websocket-clients
Baue ich ein webchat mit Spring Boot, RabbitMQ und WebSocket als POC, aber ich bin stucked ein letzter Punkt: WebSockets
Ich möchte meine ws-clients die Verbindung zu einem bestimmten Endpunkt, wie /room/{id}
und wenn eine neue Nachricht eintrifft, möchte ich den server zum senden der Antwort an den Kunden, aber ich suchte nach etwas ähnliches, und hat nicht gefunden.
Derzeit, wenn die Nachricht eintrifft, ich verarbeite es mit RabbitMQ, wie
container.setMessageListener(new MessageListenerAdapter(){
@Override
public void onMessage(org.springframework.amqp.core.Message message, Channel channel) throws Exception {
log.info(message);
log.info("Got: "+ new String(message.getBody()));
}
});
was ich möchte ist, statt log , soll ich senden Sie es an den client, zum Beispiel: websocketManager.sendMessage(new String(message.getBody()))
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, ich denke ich habe es, für alle, die es noch braucht, hier ist die Antwort:
erste, Sie brauchen, um hinzuzufügen, WS Abhängigkeiten der pom.xml
erstellen eines WS-Endpunkt
Hinweis: ich bin mit STOMP, damit die clients verbinden sollen, wie dies
Dann können Sie einfach den Draht der ws messenger auf Ihre Komponenten mit
und senden Sie die Nachricht mit
"/room.".concat(message.getRoom().getUid().toString())