spring websocket 예제

STOMP 메시징을 사용하여 작업하는 Spring의 접근 방식에서 STOMP 메시지는 @Controller 클래스로 라우팅될 수 있습니다. 예를 들어 GreetingController는 대상 „/hello“에 메시지를 처리하도록 매핑됩니다. SockJS는 최소한의 메시지 프레임을 추가합니다. 예를 들어 서버는 처음에 문자 o („열기“프레임)를 보내고 메시지는 [„message1″,“message2“] (JSON-인코딩 된 배열), 문자 h („하트 비트“프레임)로 보내지며 기본적으로 25 초 동안 메시지가 흐르지 않는 경우 문자 c („닫기“프레임)를 닫습니다. 세션. 봄 5.0.5.RELEASE로 시작, 그것은 우리가 통해 사용자 대상에 메시지를 보낼 수 있습니다 @SendToUser 주석의 개선으로 인해 사용자 지정을 할 필요가 없습니다 „/사용자/{sessionId}/…“ „/사용자/{사용자}/…“가 아니라. 또한 Spring SockJS 지원을 통해 TaskScheduler를 구성하여 하트비트 작업을 예약하는 데 사용할 수 있습니다. 작업 스케줄러는 사용 가능한 프로세서 수에 따라 기본 설정이 있는 스레드 풀에 의해 백업됩니다. 응용 프로그램은 특정 요구에 따라 설정을 사용자 지정하는 것을 고려해야 합니다. 여기서 sockJS를 사용하면 웹 소켓 연결이 끊어지거나 웹 소켓 연결을 설정할 수 없을 때마다 연결이 HTTP로 다운그레이드되고 클라이언트와 서버 간의 통신이 계속 될 수 있습니다. 따라서 WebSocket 핸드셰이크 또는 SockJS HTTP 전송 요청의 경우 일반적으로 HttpServletRequest#getUserPrincipal()를 통해 액세스할 수 있는 인증된 사용자가 이미 있습니다. Spring은 해당 사용자를 위해 만든 WebSocket 또는 SockJS 세션과 자동으로 연결한 다음 사용자 헤더를 통해 해당 세션을 통해 전송되는 모든 STOMP 메시지와 연결합니다.

섹션 22.2, „WebSocket API“는 서버 측의 스프링 웹소켓 API를 검토하고 섹션 22.3의 „SockJS 대체 옵션“에서는 SockJS 프로토콜을 설명하고 이를 구성하고 사용하는 방법을 보여 주었습니다. 전송된 메시지에 JSON 형식을 사용하려는 경우 GSON 또는 Jackson 종속성도 포함할 수 있습니다. 예를 들어 스프링 시큐리티와 같은 보안 프레임워크가 필요할 수 있습니다. WebSocketConfig는 스프링 구성 클래스임을 나타내기 위해 @Configuration 함께 추가됩니다. 또한 @EnableWebSocketMessageBroker 개의 추가되었습니다. 이름에서 알 수 있듯이 @EnableWebSocketMessageBroker 메시지 브로커가 지원하는 WebSocket 메시지 처리를 지원합니다.

STOMP 메시징을 사용하여 작업하는 Spring의 접근 방식에서 STOMP 메시지는 @Controller 클래스로 라우팅될 수 있습니다. 예를 들어 GreetingController는 대상 „/hello“에 메시지를 처리하도록 매핑됩니다. SockJS는 최소한의 메시지 프레임을 추가합니다. 예를 들어 서버는 처음에 문자 o („열기“프레임)를 보내고 메시지는 [„message1″,“message2“] (JSON-인코딩 된 배열), 문자 h („하트 비트“프레임)로 보내지며 기본적으로 25 초 동안 메시지가 흐르지 않는 경우 문자 c […] , 2019