본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

82일차 - 웹소켓을 이용한 기본적인 채팅 기능 구현하기

Websocket 의존성 추가하기

- build.gradle

dependencies {
	
    ...
    
    implementation 'org.springframework.boot:spring-boot-starter-websocket'
}

 

Handler

@Slf4j
@Component
public class WebSockChatHandler extends TextWebSocketHandler {

    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        String payload = message.getPayload();
        log.info("payload {}", payload);
        TextMessage textMessage = new TextMessage("Welcome!");
        session.sendMessage(textMessage);
    }
}

Config

@Configuration
@RequiredArgsConstructor
@EnableWebSocket
public class WebSockConfig implements WebSocketConfigurer {

    private final WebSocketHandler webSocketHandler;

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(webSocketHandler, "/chat").setAllowedOrigins("*");
    }
    
}

테스트하기

아래의 WebSocket King Client로 테스트를 진행했다.(크롬 확장 프로그램)

https://chrome.google.com/webstore/detail/websocket-king-client/cbcbkhdmedgianpaifchdaddpnmgnknn

 

WebSocket King Client

A WebSocket client for testing and debugging connections.

chrome.google.com

 

 

인텔리제이에서 서버를 실행시킨 후 ws://localhost:8080/chat 으로 Connect, 입력값을 Send하니 앞서 코드 상에 써놓았던 Welcome!이 출력되었다.

 

~ 테스트 성공 ~