🥞 BE
home
💬

WebSocket으로 간단한 채팅 만들어보기

Date
2024/11/13
Category
Web
Tag
Basic
Web Socket
Detail
웹소켓을 공부하며, 이를 Spring Boot 환경에 적용시켜보고자, 간단한 채팅 서비스를 만들어 보려고 한다.
우선 의존성 추가는, spring web과 websocket을 추가해주었다.

WebSocketConfig

@Configuration @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void configureMessageBroker(MessageBrokerRegistry messageBrokerRegistry) { // enableSimpleBroker -> 특정 경로로 시작하는 메시지를 클라이언트에게 바로 전달할 수 있게 함. messageBrokerRegistry.enableSimpleBroker("/topic"); // setApplicationDestinationPrefixes -> 클라이언트가 전송하는 메시지를 해당 경로로 전송하게 하고, 처리할 핸들러에 연결. messageBrokerRegistry.setApplicationDestinationPrefixes("/app"); } @Override public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) { // "/ws"로 WebSocket 엔드포인트를 설정하고, SockJS를 사용 stompEndpointRegistry.addEndpoint("/ws").withSockJS(); } }
Java
복사
WebSocket을 활성화하고, 엔드포인트를 설정하는 클래스를 만들어준다.
@EnableWebSocketMessageBroker 로 메시지 브로커를 활성화한다.
이후, MessageBrokerRegistry를 활용하는 메시지 브로커 설정과, StompEndpointRegistry를 활용해 SockJS 엔드포인트 설정을 하는 메서드를 만들어준다.
"/topic" 으로 시작하는 메시지를 클라이언트에게 바로 전달할 수 있게 하고, 클라이언트가 전송한 메시지를 "/app" 으로 시작하는 경로로 전송하여 처리할 핸들러에 연결한다.
웹소켓 연결은 "/ws" 엔드포인트를 통해 stomp로 수행한다.