Angular 5 클라이언트가 있는 Spring Boot WebSocket | SockJS + 스톰프

https://grokonez.com/spring-framework/spring-websocket/spring-boot-websocket-angular-5-client-sockjs-stomp

Angular 5 클라이언트가 있는 Spring Boot WebSocket | SockJS + 스톰프

WebSocket 프로토콜은 웹 애플리케이션을 위한 새로운 기능인 전이중 양방향 통신을 제공합니다. 따라서 클라이언트와 서버가 높은 빈도와 낮은 대기 시간으로 데이터를 교환해야 하는 시스템에서 WebSocket은 최고의 솔루션입니다. 이 튜토리얼에서는 WebSocket 프로토콜을 사용하여 Angular 5 클라이언트와 통신하는 Spring Boot 애플리케이션을 만들 것입니다.

업데이트: Angular 6 WebSocket example with Spring Boot WebSocket Server | SockJS + STOMP

스프링 웹소켓 애플리케이션



메시지의 흐름



메시지 흐름으로 Spring WebSocket 애플리케이션을 생성합니다.


  • WebSocket 클라이언트가 /jsa-stomp-endpoint에서 WebSocket 끝점에 연결합니다.
  • /topic/hi에 대한 구독은 응답 채널을 통과한 다음 메모리 내 브로커(Simple Broker)로 전달됩니다.
  • /jsa/hello로 전송된 사용자 개체는 요청 채널을 통과한 다음 스프링 WebController로 전달됩니다. WebController는 User에 의해 @MessageMapping 개체를 처리하고 Hello 메시지로 변환한 다음 @SendTo를 사용하여 brokerChannel을 통해 /topic/hi에 메시지를 반환합니다.
  • 
    @MessageMapping("/hello")
    @SendTo("/topic/hi")
    public Hello greeting(User user) throws Exception {
        return new Hello(...);
    }
    
  • Simple Broker는 응답 채널을 통해 구독자에게 메시지를 브로드캐스트합니다.

  • 서버 측



    서버 측에서는 애플리케이션에 SockJS와 STOMP를 사용합니다.

    SockJS란?
    -> SockJS를 사용하면 애플리케이션이 WebSocket API를 사용할 수 있지만 런타임에 필요할 때 애플리케이션 코드를 변경할 필요 없이 WebSocket이 아닌 대안으로 대체됩니다.

    Spring 애플리케이션에서 SockJS 및 Stomp를 활성화하는 간단한 Java 구성을 생성합니다.

    더 보기:

    https://grokonez.com/spring-framework/spring-websocket/spring-boot-websocket-angular-5-client-sockjs-stomp

    Angular 5 클라이언트가 있는 Spring Boot WebSocket | SockJS + 스톰프

    좋은 웹페이지 즐겨찾기