프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)
82일차 - 웹소켓을 이용한 기본적인 채팅 기능 구현하기
yurison
2023. 6. 21. 11:33
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!이 출력되었다.
~ 테스트 성공 ~