[스프링] 스프링 WebSocket 설정 방법
이번 글에서는 스프링 프레임워크에서 WebSocket을 설정하는 방법에 대해 알아보겠습니다.
1. 의존성 추가
먼저, WebSocket을 사용하기 위해 Maven 또는 Gradle 프로젝트의 의존성에 spring-boot-starter-websocket
을 추가해야 합니다.
Maven을 사용하는 경우:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
Gradle을 사용하는 경우:
implementation 'org.springframework.boot:spring-boot-starter-websocket'
2. WebSocket 구성
다음으로, WebSocket을 구성해야 합니다. 이를 위해 @EnableWebSocketMessageBroker
어노테이션을 포함한 구성 클래스를 생성해야 합니다.
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic");
registry.setApplicationDestinationPrefixes("/app");
}
}
위의 코드에서는 /ws
엔드포인트를 설정하고, /topic
을 구독하는 클라이언트에게 메시지를 브로드캐스트하는 데 사용됩니다.
3. 클라이언트 구현
마지막으로, 클라이언트는 JavaScript 또는 다른 언어를 사용하여 WebSocket을 연결하고 메시지를 주고 받을 수 있습니다.
var socket = new SockJS('/ws');
var stompClient = Stomp.over(socket);
stompClient.connect({}, function (frame) {
stompClient.subscribe('/topic/public', function (message) {
// 메시지 처리 로직
});
});
function sendMessage() {
stompClient.send("/app/sendMessage", {}, JSON.stringify({'message': 'Hello'}));
}
이제 스프링 프레임워크에서 WebSocket을 설정하는 방법에 대해 알게 되었습니다. WebSocket을 사용하여 실시간 양방향 통신을 구현할 수 있습니다.
참고 문헌: