๐ฌ๐๐๐จ๐ค๐๐ ๐๐ฉ
๐ WebSocket
โ Socket ์ข
๋ฅ
1. WebSocket
- ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ์์ผ ํต์ ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์น์์ผ
- HTTP ์์ ์กด์ฌ (ws://... โ ์น์์ผํ๋กํ ์ฝ)
- IE(Internet Explorer) 10+ ๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ
- ์คํ๋ง์์๋ ์ฐ๊ฒฐ์ด ๋์ด์ง๋ฉด ๋ฐ๋ก ์ฒ๋ฆฌํด์ค์ผํจ
- ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋์ด์ง์ง ์๊ณ ๊ณ์ ๋ถ์ด์์ (Poilling, Long Polling)
2. SockJS
- Node.js์ soket.io์ ์ ์ฌ
- ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ์์ผ ์ฌ์ฉ โ IE8๋ถํฐ ์ฌ์ฉ ๊ฐ
- Spring์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ sockjs-client library ์ฌ์ฉ
3. STOMP (Simple Text Oriented Messaging Protocol)
- ๋ฉ์ธ์ง ์ ์ก์ ํจ์จ์ ์ผ๋ก ํ๊ธฐ ์ํด ํ์ํ ํ๋กํ ์ฝ
- Streaming Text Oriented Messaging Protocol : ํ ํฝ ๊ตฌ๋
๋ฐฉ์
โก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ๋ ์ฝ์๋ ๋ฉ์ธ์ง๋ฅผ ์ปค๋ฎค๋์ผ์ด์
ํ๋ ๊ฒ
- topic / queue ๋ฐฉ์ : topic์ ๋ฐ๋ผ๋ณด๋ ๋ฐฉ์๊ณผ ํน์ queue๋ฅผ ์ ํด์ ๋ฐ๋ผ๋ณด๊ฒ ํ๋ ๋ฐฉ์
โก topic: ์ผ๋๋ค ๊ตฌ๋
๋ฐฉ์, ๋ค์์๊ฒ ๋ฉ์ธ์ง ๋ณด๋ผ ๊ฒฝ์ฐ
โก queue: ์ผ๋์ผ ๊ตฌ๋
๋ฐฉ์, ํน์ ๋์์๊ฒ ๋ฉ์ธ์ง ๋ณด๋ผ ๊ฒฝ์ฐ
- SockJS์์ ์ฐ์ด๋ ์๋ธ ํ๋กํ ์ฝ
โก ๋ฉ์ธ์ง ํฌ๋งท์ด ํ๋กํ ์ฝ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ์์ ๋กญ๊ฒ ์ ์ก ๊ฐ๋ฅ
โก ์์ผ ๋ชจ๋ JSONํ์์ผ๋ก ๊ฐ๋๊ฒ ์ข์
- stomp js library ์ฌ์ฉ โ Spring์ ์ข
์์ ์ธ ํธ
- ์ฃผ๋ก ๋ง์ด ์ฌ์ฉ โ ๊ฐ์ฅ ๊ฐ๋ณ
- ์์ผ์ผ๋ก ๋ฐ๋ก ๋ถ๋ ๊ฒ์ด ์๋ ์ปจํธ๋กค๋ฌ๋ก ์์ฒญํ๊ธฐ ๋๋ฌธ
- ์์ผ๊ณผ ๊ฐํ๊ฒ ์ฐ๊ฒฐ๋ ๊ฒ์ด ์๋ ๋์จํ๊ฒ ์ฐ๊ฒฐ
- ํ๋์ ํ ํฝ๋ง ๋ณด๊ณ ์์ผ๋ฉด ๋๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ
- ๊ฐํ๊ฒ ์ฐ๊ฒฐ๋์์ผ๋ฉด ์๋ ์ธ์
๋ค ์ ์งํด์ผํจ
โก ํ์ง๋ง STOMP๋ 10์ด์ ํ๋ฒ์ฉ ์ฐ๊ฒฐ ํ์ธํด์ค
โก ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋ฒผ์์ง
โก ํฐ์ ํธ์ ๋ณด๋ด๋ ๊ฒ์ฒ๋ผ ๊ตฌ๋
๋ฐฉ์ ๊ฐ๋ฅ