๐[WEB] Web Socket ํ๋กํ ์ฝ
์น ์์ผ(Web Socket) ํ๋กํ ์ฝ
์น ์์ผ์ด๋, ์น ํ๊ฒฝ์์ ` ์๋ฐฉํฅ ํต์ ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ ํ๋กํ ์ฝ๋ก,
Transport protocol`์ ์ผ์ข
์ด๋ค.
์ฆ, ์น ๋ฒ์ ์ TCP ํน์ socket ์ด๋ผ๊ณ ์ดํดํ ์ ์๋ค.
์น ์์ผ์ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ๋ก ์๋ฒ ์ฌ์ด์ ๋์ ์ธ ์๋ฐฉํฅ ์ฐ๊ฒฐ ์ฑ๋์ ๊ตฌ์ฑํ๋๋ฐ WebSocket API๋ฅผ ํตํด ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ , ์์ฒญ ์์ด ์๋ต์ ๋ฐ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
์น ์์ผ์ ํน์ง
1. ์๋ฐฉํฅ ํต์ (Full-Duplex)
์๋ฐฉํฅ ํต์
์ด๋, ๋ฐ์ดํฐ ์ก์์ ์ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ ํต์ ๋ฐฉ๋ฒ์ด๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์๋ก์๊ฒ ์ํ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
ํต์์ ์ธ HTTP ํต์ ์ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ๋ณด๋ด๋ ๊ฒฝ์ฐ์๋ง ์๋ฒ๊ฐ ์๋ต์ ํ๋ ๋จ๋ฐฉํฅ ํต์
๊ธฐ๋ฒ์ด๋ค.
2. ์ค์๊ฐ ๋คํธ์ํน(Real Time-Networking)
์ค์๊ฐ ๋คํธ์ํน
์ ์น ํ๊ฒฝ์์ ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๋
ธ์ถํ๋ ๋คํธ์ํน ๋ฐฉ์
์ด๋ค.
์๋ก๋ ์ฑํ
, ์ฃผ์ ๋ฑ์ด ์๋ค.
์ ์ธ๊น?
์น ์์ผ์ Stateful protocol
์ด๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ์ ํ ๋ฒ ์ฐ๊ฒฐ ๋๋ฉด ๊ณ์ ๊ฐ์ ๋ผ์ธ์ ์ฌ์ฉํด ํต์ ํ๊ธฐ ๋๋ฌธ์ HTTP ์ฌ์ฉ์ ํ์์์ด ๋ฐ์๋๋ HTTP์ TCP ์ฐ๊ฒฐ ํธ๋ํฝ์ ํผํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์น ์์ผ์ HTTP์ ๊ฐ์ ํฌํธ(80)๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์
์ฉ ์ดํ๋ ํน์
์ ์ ์ฉํ ๋ ๋ฐฉํ๋ฒฝ ์ค์ ์ ๋ฐ๋ก ํ์ง ์์๋ ๋๋ค๋ ์ฅ์ ์ด ์๋ค.
์ฐธ๊ณ ์๋ฃ
https://duckdevelope.tistory.com/19
https://velog.io/@codingbotpark/Web-Socket-%EC%9D%B4%EB%9E%80
๋๊ธ๋จ๊ธฐ๊ธฐ