Websocket: comment transmettre un message à un utilisateur cible

J’essaie d’implémenter une notification push au spring en utilisant websocket et en utilisant sock.js.

Ce sont les extraits de code:

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(); } } 

Ceci est le code à l’avant ..

  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.ssortingngify({ 'name': name })); } 

J’ai déjà réussi à le faire fonctionner. Mais la question est de savoir comment puis-je transmettre le message à certains utilisateurs cibles. Par exemple, il y a 5 utilisateurs en ligne, à savoir: utilisateur1, utilisateur2, utilisateur3, utilisateur4 et utilisateur5. Je souhaite que la notification soit publiée uniquement sur user1 et user2. Pouvez-vous me donner une idée sur la façon de réaliser celui-ci? Je pense soit à le faire dans le backend ou dans le frontend. Ou il existe un autre moyen de réaliser cela en utilisant un ressort.

Quelqu’un m’aide s’il vous plaît.

Je vous remercie.

Vous pouvez vérifier les destinations des utilisateurs pour cibler des utilisateurs spécifiques avec vos messages. Pour cela, utilisez l’appel SimpMessagingTemplate.convertAndSendToUser ().

Notez que pour activer cette fonctionnalité, vos utilisateurs doivent être authentifiés HTTP.