웹소켓 -> 양방향 통신을 위한 프로토콜
STOMP는 웹소켓 기반으로 동작함
- STOMP는 Simple/Stream Text Oriented Message Protocol의 약자로, 메시지 브로커의 역할을 한다.
- STOMP는 WebSocket 기반으로 동작하며 pub/sub 구조로 되어 있다.
- (Publisher)가 편지함에 편지를 넣어두면 그걸 기다리고 있던 편지를 받는 사람(Subscriber)가 편지를 받고 읽는 구조이다.
- 인터넷에 떠도는 대표적인 예로
채팅방 생성 : pub/sub 구현을 위한 Topic 생성
채팅방 입장 : Topic 구독
채팅방에서 메시지를 송수신 : 해당 Topic으로 메시지를 송신(pub) 혹은 수신(sub)
SockJs :
Websocket은 Upgrade Header을 이용해 소켓연결을 하고 통ㅅ니함.
-> 이때 여러 가지 이유로 소켓연결이 안될때,
http 기반의 다른 기술로 전환하여 다시 연결을 시도할 필요가 있다.
이때 사용하는게
WebSocket Emulation 이고, 그를 지원해주는게 스프링에선 SockJs 라이브러리임.
- SockJS는 다양한 기술을 이용해 웹소켓을 지원하지 않는 브라우저에서 정상작동하도록 도와주는데.
- WebSocket
- HTTP Streaming
- HTTP Long Polling
세가지 타입을 이용한다.
WebSocket 과정
'TIL' 카테고리의 다른 글
ThreadLocal 이란. (1) | 2024.01.03 |
---|---|
for vs .forEach() vs stream.forEach() (0) | 2023.12.29 |
CSR vs SSR (0) | 2023.11.22 |
long vs Long (1) | 2023.10.19 |
HTTP VS TCP (0) | 2023.08.18 |