[SPRING] Websocket : 대상 사용자에게 메시지를 푸시하는 방법
SPRINGWebsocket : 대상 사용자에게 메시지를 푸시하는 방법
웹 소켓과 sock.js를 사용하여 봄에 푸시 알림을 구현하려고합니다.
다음은 코드 스 니펫입니다.
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();
}
}
이것은 앞에있는 코드입니다.
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 }));
}
나는 이미 그것을 작동하게 만들었습니다. 그러나 질문은 어떻게 특정 대상 사용자에게 메시지를 보낼 수 있는가입니다. 예를 들어 user1, user2, user3, user4 및 user5라는 5 명의 온라인 사용자가 있습니다. 사용자 1과 사용자 2에게만 알림을 게시하고 싶습니다. 이걸 어떻게 성취 할 수 있을지 생각해 주시겠습니까? 내가 백엔드에서 또는 프론트 엔드에서 그렇게 생각 중입니다. 또는 봄을 사용하여이를 달성하는 또 다른 방법이 있습니다.
누군가 제발 도와주세요.
고맙습니다.
해결법
-
==============================
1.사용자 대상을 확인하여 특정 사용자를 메시지로 타겟팅 할 수 있습니다.이 작업은 SimpMessagingTemplate.convertAndSendToUser () 호출을 사용하여 수행됩니다.
사용자 대상을 확인하여 특정 사용자를 메시지로 타겟팅 할 수 있습니다.이 작업은 SimpMessagingTemplate.convertAndSendToUser () 호출을 사용하여 수행됩니다.
이 기능을 사용하려면 사용자가 HTTP 인증을 받아야합니다.
from https://stackoverflow.com/questions/24282138/websocket-how-to-push-a-message-to-a-target-user by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Java 기반 어노테이션을 사용하여 구성된 Spring MVC를 사용하여 전역 적으로 404 개의 예외를 처리하는 방법 (0) | 2019.03.27 |
---|---|
[SPRING] 여러 데이터 소스에 사용할 Spring 데이터 저장소 bean 이름 사용자 정의 (0) | 2019.03.27 |
[SPRING] 프로그래밍 방식으로 Grails 서비스의 인스턴스를 얻으려면 어떻게해야합니까? (0) | 2019.03.27 |
[SPRING] Spring RestTemplate으로 XML POST 요청을 보내는 방법? (0) | 2019.03.27 |
[SPRING] 스프링 MVC - 정적 파일 / 자바 스크립트, CSS 포함 (0) | 2019.03.27 |