STOMP(2)
-
[Project] 실시간 1:1 채팅
내가 맡은 역할 중 실시간 1:1 채팅 기능이 있다.이미 STOMP 프로토콜을 활용한 채팅 구현을 해본 경험이 있기 때문에,처음엔 별로 대수롭지 않게 생각했었다. 하지만 그건 나의 엄청난 오만이었다. 실시간으로 채팅을 하는 시스템은 비슷하지만 저번에 했던 채팅은 단순한 단체 채팅방 이고,이번 프로젝트에 필요한 기능은 관리자와 고객들의 1:n 관계 채팅 시스템이다. channel 생성 부터 구독 하는 것까지 엄청 골머리를 썩혔지만 결국 해결해냈다. 그럼 내가 이 난관을 어떻게 극복했는지 한 번 적어보겠다.유저 채팅 채널 생성 일단 관리자가 아닌 일반 사용자의 입장에서 채팅 icon을 클릭하면 해당 유저의 고유키인 "userid"를 이용해 독단적인 채널을 생성하게 했다. "사용자 마다 각각 다르게 개별적으로..
-
[Spring] WebSocket - 실시간 채팅
저번 메모장 기능 구현에 이어 이번에는 실시간 채팅을 한 번 만들어 볼 것이다.실전에 들어가기 앞서, 이번 채팅 구현에 있어서는 stomp에 대해서 알고 이 녀석을 사용해 줄거다. STOMPSTOMP란, Simple Text Oriented Messaging Protocol의 약자이다.간단한 메세지를 전송하기 위한 프로토콜로 메세지 브로커를 publisher - subscriber 방식을 사용한다.메세지의 발행자와 구독자가 존재하고 메세지를 보내는 사람과 받는 사람이 구분되어 있다.메세지 브로커는 발행자가 보낸 메세지를 구독자에게 전달해주는 역할을 한다.STOMP는 HTTP와 비슷하게frame 기반 프로토콜 command, header, body로 이루어져 있다. 사전 설정servlet-context.x..