Websocket: Wie Push Eine Nachricht Zu Einem Ziel-Benutzer

Ich versuche, die Implementierung eines push-Benachrichtigung im Frühjahr mit websocket und mit der Verwendung von sock.js.

Diese sind der code-Schnipsel:

    public class NotifyController {

        @MessageMapping("/notifications")
        @SendTo("/get/notifications")
        public Greeting greeting(HelloMessage message) throws Exception {
            new Greeting("Hello, " + message.getName() + "!");
        }
    }


    public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
        @Override
        public void configureMessageBroker(MessageBrokerRegistry config) {
            config.enableSimpleBroker("/get/notifications");
            config.setApplicationDestinationPrefixes("/gssocket");
        }

        @Override
        public void registerStompEndpoints(StompEndpointRegistry registry) {
            registry.addEndpoint("/notifications").withSockJS();
        }
    }

Dies ist der code in der front..

    function connect() {
        var notificationSocket = new SockJS('/notifications');
        stompNotificationClient = Stomp.over(notificationSocket);

        stompNotificationClient.connect({}, function(frame) {
            console.log('Connected: ' + frame);
            stompNotificationClient.subscribe('/get/notifications', function(greeting){
                showGreeting(JSON.parse(greeting.body).content);
            });
        });
    }

    function sendNotification() {
        var name = "test"
        stompNotificationClient.send("/gssocket/notifications", {}, JSON.stringify({ 'name': name }));
    }

Habe ich es schon geschafft, damit es funktioniert. Aber die Frage ist, wie kann ich push die Nachricht an bestimmte Anwender-Zielgruppe. Zum Beispiel gibt es 5 online-Nutzer, nämlich: user1, user2, user3, user4 und user5. Ich will, dass die zu veröffentlichenden Meldung an die user1 und user2 nur. Können Sie mir eine Idee, wie Sie diese erreichen eine? Ich denke, entweder tun es im backend oder im frontend. Oder gibt es einen anderen Weg, dies zu erreichen mit spring.

Mir jemand helfen bitte.

Danke.

InformationsquelleAutor Mnick | 2014-06-18
Schreibe einen Kommentar