본문 바로가기

백엔드 개발/WebSocket

SpringBoot3 WebSocket ChattingServer만들기 5단계 - 채팅방 인원 수 체크, Server Side Event 처리 0. 목차 1. 개요 - 이전과 달라진 점 2. 전개도 3. 코드 분석 4. 프로젝트 진행하면서 겪었던 오류들 https://www.daddyprogrammer.org/post/5290/spring-websocket-chatting-server-enter-qut-event-view-user-count/ 를 보고 진행 했습니다. 1. 개요 ⓐ 입장 퇴장 시 인원 수 체크해서 인원 수를 채팅방에 표시 ⓑ 저번 포스팅까지는 채팅방 입장과 구독을 클라이언트에서 인지하고 백엔드로 보내주고, 그에 대한 처리를 했음. 이번에는 Sever Side에서 해당 이벤트를 직접 인지 하고, 일을 처리하도록 바꿨음. 2. 전개도 원래 배울 때 Controller -> service -> Repository로 일이 정해져 있었지.. 더보기
SpringBoot WebSocket Chatting Server만들기 4단계 - SpringBoot Security 장착 0.목차 공부한 내용들의 출처: ddadyProgrammer님의 블로그 Spring websocket chatting server(4) - SpringSecurity + Jwt를 적용하여 보안강화하기 이번 장에서는 SpringSecurity와 Jwt를 이용하여 Web 및 Websocket의 보안을 좀 더 강화하고. 기존의 복잡한 로직을 간소화하는 작업을 진행해 보겠습니다. 크게 아래의 3가지 작업을 진행하겠습니다. Spri www.daddyprogrammer.org 1. 개요 (새롭게 추가한 것들) 2. 전개도 3. 코드 분석 4. 프로젝트 진행하며 만났던 오류 모음 1. 개요 이번 장에서는 새롭게 Spring Security를 적용했다. 원래 프로젝트는 접근한 모든 사용자가 대화명만 입력하면 모두 사용.. 더보기
SpringBoot WebSocket Chatting Server 만들기 3단계 - 여러 채팅 서버 간의 메세지 공유 (by Redis Pub/sub) https://www.daddyprogrammer.org/post/4731/spring-websocket-chatting-server-redis-pub-sub/ 0.목차 1. 개요 2. 전개도, 전체적인 흐름 파악 3. 코드 분석 4. 프로젝트 진행하면서 있었던 에러 해결 1. 개요 이번 프로젝트에서는 Redis라는 인메모리형 DB를 활용하여 2번까지 진행했던 STOMP와 WebSocket만으로 구현한 Chatting Server 프로젝트를 더 고도화 하려고 한다. 어? 이미 하나의 서버에서 서로 메세지를 주고 받는 것은 충분히 되는데 왜 Redis를 장착해야 할까요? 그렇다면, 먼저 Redis를 왜 장착해야 하는지에 대해서 설명하겠다. ⓐ STOMP와 WebSocket만을 쓰는 Chatting Serv.. 더보기
Spring websocket chatting server 만들기 2단계 - 고도화 본 프로젝트는 스프링 웹소켓 채팅서버 만들기 를 실습하며 공부하기 위한 프로젝트 입니다. branch 별로 총 6단계 모두 진행할 예정입니다. 0. STOMP란 무엇인가? Stomp란 SimpleTextOrientedMessagingProtocol의 약자로, 텍스트 기반 양방향 통신을 효율적으로 하기 위한 통신 규약이다. Stomp의 원리는 다음과 같다. Stomp에는 3가지 개념이 존재하는데, Topic, Publisher, Subscriber가 그것이다. Topic은 우체통이라고 생각하면 된다. publisher는 메세지 발행자이다. Publisher가 어떤 Topic을 EndPoint로 잡고 메세지를 보내면 해당 우체통으로 메세지가 들어간다. 이때 해당 Topic을 구독하고 있는 Subscriber.. 더보기
SpringBoot WebSocket chatting server 만들기 1단계 본 프로젝트는 스프링 웹소켓 채팅서버 만들기 를 실습하며 공부하기 위한 프로젝트 입니다. branch 별로 총 6단계 모두 진행할 예정입니다. 해당 내용으로 만든 프로그램입니다. 첫 단계라서 firstStep이란 branch에 저장하였습니다. https://github.com/dalcheonroadhead/WebSocketBEPractice/tree/firstStep 1. 전개도 1-1 Server Logic 해당 블로그의 Basic WebSocket의 전개도 이다. 아주 간단하게 처리했기 때문에 아직 DB와 연결하지 않고, 서비스와 컨트롤러, 모델, 웹소켓 설정 디렉토리만 필요했다. 1-2 Server와 Client 전체 Logic 먼저 내가 헷갈렸던 부분은 Rest API와 소켓이 다른 장소에서 ma.. 더보기