✅ 유튜브 링크
✅ 필기
Simple Text Oriented Messaging Protocol / 텍스트 기반 메시징 프로토콜
어떤 범주? ex. 경로 에 메세지를 발행하면, 해당 범주를 구독하고 있는 사용자에게 메세지를 전달하는 방식
웹소켓 위에 얹어 함께 사용할 수 있는 하위(서브) 프로토콜
스프링이 웹소켓 위에 스톰프롤 얹어 사용하는 방법을 지원한다.
Stomp 를 통해 pub/sub 를 사용하면 구독자 관리가 알아서 된다
***따라서 따로 세션 관리를 하는 코드를 작성할 필도 없고,***
메시지를 다른 세션의 클라이언트에게 발송하는 것도 구현 필요가 없다!
왜 얹어서 사용해야하냐? 왜 필요하냐?
-> 그냥 웹소켓은 클라이언트와 서버가 서로 어떤 형식, 어떤 타입의 메세지를 주고받을지, 어떤 구조로 정보를 구성하고, 그 정보를 어떻게 파싱해서 사용할지에 대해 정해진 것이 없지만(날 것의 정보), 스톰프를 사용하면 따로 고민할 필요없이 프레임과 파싱 로직 등이 구현되어있다.

-참고: [https://terianp.tistory.com/149](https://terianp.tistory.com/149)
<구조>
build.gradleWebSocketConfigChatDtoChatRoomChatServiceMainMsgChatServiceChatRoomControllerChatController<코드>