WebSocket ๊ณผ WebRTC

sun1ยท2023๋…„ 11์›” 13์ผ
0

CS

๋ชฉ๋ก ๋ณด๊ธฐ
12/17
post-thumbnail

๐Ÿ“ข ๋ฐฑ์—”๋“œ์—์„œ ํ”„๋ก ํŠธ์—”๋“œ์— ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŠน๋ณ„ํ•œ ๋ฐฉ๋ฒ•๋“ค์„ ์ทจํ•ด์•ผํ•œ๋‹ค. ๊ทธ ์ค‘ WebSockert๊ณผ WebRTC๋„ ๋ฐฉ๋ฒ•๋“ค ์ค‘ ํ•˜๋‚˜๋“ค์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ๋‘˜์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€? ์–ด๋–ค ์ƒํ™ฉ์— ์–ด๋–ค ๊ธฐ์ˆ ์„ ์ ์šฉํ•ด์•ผ ํ• ๊นŒ?


๐Ÿค” HTTP ์™€ WebSocket / WebRTC

WebSocket๊ณผ WebRTC๋Š” ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์›น ๊ธฐ์ˆ ์ด๋‹ค.
๋‘ ๊ธฐ์ˆ  ๋ชจ๋‘ ๋ธŒ๋ผ์šฐ์ € ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์ง€๋งŒ, ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹๊ณผ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋‹ค๋ฅด๋‹ค.

HTTP๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ์š”์ฒญ-์‘๋‹ต ๋ชจ๋ธ์— ๊ธฐ๋ฐ˜ํ•˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹ ์„ ์ œ๊ณตํ•œ๋‹ค.
์ฆ‰, ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์ธ WebSocket๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

๐Ÿ“Œ WebSocket

WebSocket์€ ์›น ํŽ˜์ด์ง€์™€ ์„œ๋ฒ„ ๊ฐ„์— ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๊ณ  ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. HTTP์™€ ๋‹ฌ๋ฆฌ WebSocket์€ ์ „์ฒด ๋ฉ”์‹œ์ง€๊ฐ€ ์•„๋‹Œ ๋ฉ”์‹œ์ง€์˜ ์ผ๋ถ€๋งŒ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ WebSocket์˜ ๊ฒฝ์šฐ ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ๋ชจ๋“  ํ†ต์‹ ์„ ์ถ”์ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฆ‰, WebSocket์€ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

WebSocket์€ ์ฑ„ํŒ… ์•ฑ, ์‹ค์‹œ๊ฐ„ ๊ฒŒ์ž„, ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ ๋“ฑ์— ์ด์ƒ์ ์ด๋‹ค. ํ•˜์ง€๋งŒ, ์ด ๊ธฐ์ˆ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜์˜ ํ†ต์‹ ์— ์‚ฌ์šฉ๋œ๋‹ค.

๐Ÿ“Œ WebRTC

WebRTC(Web Real-Time Communication)๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ๊ฐ„์— ํ”ผ์–ด ํˆฌ ํ”ผ์–ด(Peer-to-Peer) ์—ฐ๊ฒฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ด ๊ธฐ์ˆ ์€ ์˜ค๋””์˜ค, ๋น„๋””์˜ค, ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.

์ฆ‰, WebRTC์€ ์›น ๋ธŒ๋ผ์šฐ์ € ๊ฐ„์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

WebRTC๋Š” ์‹ค์‹œ๊ฐ„ ๋น„๋””์˜ค ์ฑ„ํŒ…, ํŒŒ์ผ ๊ณต์œ , ์ŠคํŠธ๋ฆฌ๋ฐ ๋“ฑ์— ์ ํ•ฉํ•˜๋‹ค. ์‚ฌ์šฉ์ž ๊ฐ„์˜ ์ง์ ‘์ ์ธ ์—ฐ๊ฒฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์˜ ์ค‘์žฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋Œ€์—ญํญ ์‚ฌ์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

WebRTC๋Š” ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์„œ๋ฒ„๊ฐ€ ํ•„์š”์—†๊ฑฐ๋‚˜ ์ค‘์•™ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

โœ… ๊ฒฐ๋ก 

WebSocket๊ณผ WebRTC๋Š” ์›น์—์„œ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ์ˆ ์ด๋‹ค. WebSocket์€ ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜์˜ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์— ์ด์ƒ์ ์ด๋ฉฐ, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ˜๋ฉด์—, WebRTC๋Š” ํ”ผ์–ด ํˆฌ ํ”ผ์–ด ์—ฐ๊ฒฐ์„ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ์˜ค๋””์˜ค, ๋น„๋””์˜ค, ๋ฐ์ดํ„ฐ ๊ณต์œ ์— ์ด์ƒ์ ์ด๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€