1. 클라이언트와는 SockJS로 연결해서 통신한다. 2. WebSocket + STOMP 를 사용한다 [목적] 클라이언트가 보내주는 이벤트를 같은 방을 구독하고 있는 팀원들에게 뿌려준다. WebSocketConfig @Slf4j @Configuration @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void registerStompEndpoints(StompEndpointRegistry registry) { registry.addEndpoint("/ws-swoomi") .setAllowedOriginPatterns("*") .wit..

이전 장에서 WebSocket만을 이용해서 채팅을 구현해보았다. 이때는 해당 메시지가 어떤 타입의 메시지 인지 (pub, sub 등), 타입별로 어떻게 처리해야 하는지를 일일이 구현해야했다. 이번에는 STOMP에 대해서 알아보고 이걸 이용하여 웹 소켓을 구현하면 어떻게 바꿀수 있는지 알아보고 적용해본다. [STOMP] STOMP : Simple Text Oriented Messaging Protocol stomp는 메시지 전송을 효율적으로 하기 위한 프로토콜로, 기본적으로 PUB / SUB 구조로 되어있다. 따라서 메시지를 전송하고 / 받아서 처리하는 부분이 확실하게 구조로 정해져있기 때문에 명확하게 인지하고 개발할 수 있다. STOMP 프로토콜은 클라이언트/서버 간 전송할 메시지의 유형, 형식, 내용들..

동일한 방을 구독하고 있는 팀원들에 대해서 아이템 구매 상황과 스펠 체크 상황의 실시간 공유를 해야하는데 이를 위해서 WebSocket을 사용하기로 했다. 스프링 웹 애플리케이션이므로 SockJS + STOMP를 이용해서 웹소켓을 구현. 프론트쪽과 SockJS로 연결을 하게 된다. 복수의 방들이 생성될 수 있으므로 여러개의 통신을 위한 방들이 생성되어야 한다. 각 방들의 엔드포인트는 [matchId + 진영 코드]로 한다. 이전에 웹소켓 정리한 글 참고 : [Web/정리글] - HTTP vs. WebSocket 정리 일단 먼저 블로그를 참고해서 웹소켓을 이용한 채팅 서비스를 구현해보고 이를 바탕으로 만들고자 하는 서비스를 구현하도록하겠다. 1. 웹소켓을 이용한 채팅 구현 의존성 추가 // webSocke..
- Total
- Today
- Yesterday