[스프링] 스프링 WebSocket의 요청-응답 구조
웹소켓은 실시간 양방향 통신을 제공하는 프로토콜로, 클라이언트와 서버 간의 연결을 유지하면서 데이터를 전송할 수 있습니다. 스프링 프레임워크는 스프링 WebSocket 모듈을 통해 이러한 웹소켓을 지원합니다. 이번 포스트에서는 스프링 WebSocket을 사용하여 웹소켓 요청과 응답을 다루는 방법을 살펴보겠습니다.
1. 스프링 WebSocket 설정
스프링 프레임워크에서 WebSocket을 사용하기 위해서는 @EnableWebSocket
어노테이션을 사용하여 WebSocket을 활성화해야 합니다. 이후 각 클라이언트 요청에 대한 처리를 담당할 WebSocketHandler 클래스를 정의해야 합니다.
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(new MyWebSocketHandler(), "/my-websocket-endpoint");
}
}
2. WebSocket 요청 처리
WebSocketHandler 클래스는 TextWebSocketHandler 클래스를 확장하여 구현할 수 있습니다. 요청을 처리하기 위해서는 handleTextMessage
메서드를 오버라이딩하여 구현합니다.
public class MyWebSocketHandler extends TextWebSocketHandler {
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) {
// 클라이언트로부터의 메시지 처리
}
}
3. WebSocket 응답 처리
클라이언트로부터의 요청을 받은 후, 서버에서는 이에 대한 응답을 다시 클라이언트로 전송할 수 있습니다. WebSocketSession을 사용하여 이를 처리합니다.
public class MyWebSocketHandler extends TextWebSocketHandler {
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) {
// 클라이언트로부터의 메시지 처리
TextMessage response = new TextMessage("서버 응답 메시지");
session.sendMessage(response);
}
}
이로써, 스프링 프레임워크를 사용하여 웹소켓을 통한 요청과 응답을 처리하는 방법에 대해 알아보았습니다. 이를 통해 실시간 양방향 통신을 구현할 수 있는 다양한 기능들을 개발할 수 있을 것입니다.
더 많은 정보를 찾고 싶다면 아래 참고 자료를 참고하세요.