💬

실시간 그룹채팅

Created
2023/11/27 01:51
Tags

구현한 기능

배경

여행을 같이 갈 사람을 모집했다면, 여행 전에 조율이 필요한 점들을 함께 이야기 할 수 있어야 합니다.
채팅서비스는 다수의 회원이 참여하는 서비스입니다. 많은 데이터를 주고 받아야 합니다.

FE

SockJS와 StompJS를 활용한 실시간 그룹 채팅 구현 SockJS를 통해 웹 소켓을 연결하고, StompJS는 해당 웹 소켓을 통해 메세지를 주고받습니다.
사용자가 가입한 그룹 전체 채팅방 조회 & 채팅방 개별 알림 사용자가 가입한 그룹의 채팅방에 메세지가 있다면, 그 채팅방에 들어가지 않아도 마지막 메세지를 수신할 수 있습니다.

BE

WebSocket은 HTTP에서 작동할 수 있는 양방향 통신 프로토콜입니다. Spring이 제공하는 WebsocketApi를 이용하여 사용자들은 웹에서 실시간으로 채팅할 수 있습니다.
STOMP는 WebSocket 프로토콜을 이용하여 구성되는 단순 텍스트 지향 프로토콜입니다. 웹에서 수신, 발신되는 메시지는 메시지 브로커 역할을 하는 본 서버의 WebSocket 어플리케이션을 통해 관리됩니다. 이를 통해 메시지 전송의 안정성과 확장성을 높였습니다.