๐ useWebRTCํ ๋ฆฌํฉํ ๋ง ์ฌ์ : ๋ณต์กํจ์ ๋จ์ํ๊ฒ, ๋ ๋์ ๊ฒฝํ์ผ๋ก ๐ - boostcampwm2023/web09-MagicConch GitHub Wiki
useWebRTC ํ ์ ๋ชจ๋ํ๊ฐ ํ์ํ๋ ์ด์
์ด๋ฐ์๋ ๋ชจ๋ ๊ฑธ ํ
์ผ๋ก ๊ตฌํ ํ๋ ค๋ค ๋ณด๋ ๋ฆฌ์กํธ์ ๋ผ์ดํ ์ฌ์ดํด์ ์ต์ง๋ก WebRTC ๊ธฐ๋ฅ์ด ๋ค์ด๊ฐ ์์๋ค.
๊ทธ๋์ ๊ฐ๋ฐ์ ์งํํ๋ฉฐ ์ด ์ํ๋ก๋ ๊ธฐ๋ฅ ์ถ๊ฐ๋ ๋ฒ๊ทธ ํฝ์ค๊ฐ ์ด๋ ต๋ค๊ณ ํ๋จํด ๋ชจ๋ํ๋ฅผ ์งํํ๋ค.
๋ฆฌํฉํ ๋ง ํ์ ์๋ก ์์กดํ๋ ๋ถ๋ถ์ด ๋ง์ด ํด์๋์๊ธฐ์ ๊ธฐ๋ฅ์ถ๊ฐ๋ ๋ฒ๊ทธํฝ์ค์ ์์๋๋ ์๊ฐ์ด ๋ง์ด ์ค์ด๋ค๊ฒ์ผ๋ก ๊ธฐ๋ํ๊ณ ์๋ค.
ํ ์ ๋ด๋ถ๊ฐ ๋๋ฌด ๋ณต์กํ๋ค.
์ฝ๋๋ก ํ
๋ด๋ถ๋ฅผ ๋ณด๋ฉด ๊ทธ๋ฅ ๋ณด๊ธฐ๋ง ํด๋ ๋งค์ฐ ๋ณต์กํ๋ค.
ํ
์์ ํ
์์ ์์ฑ๋ ๊ฐ์ ๋ค๋ฅธ ํ
์ด ์ธ์๋ก ๋ฐ๊ณ
๊ทธ ํ ๋ค๋ฅธ ํ
์ด ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ฐ๊ณ
๋ง์ง๋ง์ผ๋ก ๋ชจ๋ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํด์ค๋ค.
๊ธ๋ก ์์ฑ ํ๋ฉด์๋ ํท๊ฐ๋ฆฌ๋ ๊ธฐ๋ถ์ด๋ค.
์์กด๊ด๊ณ๋ฅผ ๊ทธ๋ ค๋ด๋ ์ ๋ง ๋ณต์กํ๋ค.
์ด๊ฑธ ๊ทธ๋ฆผ์ผ๋ก ํํ ํด ๋ดค๋๋ฐ ์ดํด๊ฐ ์ดํดํ๊ธฐ ์ฝ์ง๋ง ๋ณต์กํด๋ณด์ธ๋ค.
useControllMediaํ
์ ์ธ๊ฐ์ง ํ
์ ์ฐธ์กฐํ๋๋ฐ ์คํ ์์๋ฅผ ์ ์ง์ผ์ค์ผ ์คํ์ด ๋ณด์ฅ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ธ๊ฐ์ ํ
์ ๋ชจ๋ WebRTC ๊ด๋ จ ํจ์๊ฐ ํ์ํ๋๋ฐ ๋ฐ๋ก ๋๋์ด ์์๋ค.
๊ทธ๋์ ๊ธฐ๋ฅ์ ์ถ๊ฐ ํ๊ฑฐ๋ ์์ ํ ๋ ์ฝ๋์ ํ๋ฆ์ ์ฝ๊ธฐ ์ด๋ ค์ ๋ค.
useWebRTC์์ ๋ชจ๋ ๊ฑธ ์ฒ๋ฆฌํด์ฃผ๋ Props Drilling๋ ๋ฐ์ํ๋ค.
Props Drilling ๋ฌธ์ ๋ ๋ฐ์ํ๋ค.
๋ชจ๋ ๊ธฐ๋ฅ์ useWebRTC ํ
์ด ๋๋งก์ ์ฒ๋ฆฌํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
๋๋ฌธ์ ์ด ํ
์ ๋ฐ๋์ ์ปดํฌ๋ํธ ์ต์๋จ์์ ํธ์ถ ๋์์ผ ํ๊ณ , ํ๋จ์์ ์ด๋ฅผ ๋ฐ์์ ์จ์ผ ํ๋ค.
๊ทธ๋์ ๊ณตํต์ ์ธ ๋ถ๋ถ์ ์ถ์ํ ํด์ฃผ์๋ค.
์ด ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณตํต๋ ๋ก์ง์ ๋ฐ์ผ๋ก ์์ ๋นผ๊ณ ์ด๊ฑธ ๋ฐ์ ์ฐ๋๋ก ๋ฐ๊พธ์๋ค.
WebRTC๋ ์ฑ์์ ํ๋ฒ๋ง ํธ์ถ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฑ๊ธํค ํจํด์ ์ ์ฉ ํด ์ฃผ์๋ค.
๊ทธ๊ฒฐ๊ณผ ์์กด๊ด๊ณ๊ฐ ๋จ์ํด์ก๋ค.
์ฒ์์ ๋ณต์กํด ๋ณด์๋ ์์กด๊ด๊ณ๊ฐ ์์ด์ง๊ณ ํ
์ ๊ฐ๋จํ ์ฌ์ฉํ ์ ์๊ฒ ๋์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌด์กฐ๊ฑด ์ต์๋จ์ ์ปดํฌ๋ํธ์์ ํธ์ถํ ํ์๊ฐ ์์ด์ ธ Props Drilling ์ญ์ ํด๊ฒฐ ๋์๋ค.
useWebRTCํ ๋ ๋จ์ํด์ก๋ค.
์์ ๊ฒฐ๊ณผ๋ก ์ธํด useWebRTC ํ
์ ์ด์ ์ด๋ผํด์ก๋ค.
๋ฌด์ํ ๋ง์ ๋ณ์, ํจ์๋ฅผ ๋ฆฌํด ํ์๋๋ฐ ์ด์ startWebRTC, endWebRTC ํจ์๋ง ๋ฆฌํดํ๋ค.
๋ค์ ๋น๊ตํด๋ด๋ ์ ๋ง ๋จ์ํด์ก๋ค.
ํ
์ฌ์ฉ์ฑ์ด ๊ฐ์ ๋์๊ธฐ์ ์ด๋ค ํ
์ด ์ด๋ค ๊ธฐ๋ฅ์ ํ๋์ง ํ๋์ ํ์
ํ๊ธฐ ์ฌ์์ก๋ค.
์ถ๊ฐ์ ์ผ๋ก ๋๋ฒ๊น
, ์ฝ๋์ ์ถ๊ฐ์ ์์ ์ญ์ ์ฌ์์ง๊ฒ ๋์๋ค.
๋ง์ง๋ง์ผ๋ก ์ด๋ฒ์ ์ด๋ ๊ฒ ๋ฆฌํฉํ ๋ง์ ์งํํ๋ฉด์ ๋๊ฐ์ง๋ฅผ ๋ฐฐ์ ๋ค.
- ํ ์ ์์ฑํ๊ธฐ ์ ์๋ ์ ๋ง ๋ผ์ดํ ์ฌ์ดํด ์์ ํฌํจ๋์ด์ผ ํ๋ ๋ก์ง์ธ์ง ์๊ฐ์ ํ์
- ํ ์คํธ ์ฝ๋๋ฅผ ๋ฐ๋์ ์์ฑํ์.
ํ ์คํธ ์ฝ๋๊ฐ ์์ด์ ๋ฆฌํฉํ ๋ง์ ํ ๋ ์์ ํ ์คํธ๋ฅผ ์งํํ๊ธฐ์ ํ ์คํธ ์ฝ๋๊ฐ ๋ ์๋ฟ์๋ค. ๊ทธ๋์ ์ด๋ฒ ๋ถ์คํธ ์บ ํ ์ผ์ ์ด ๋๋๋ฉด ํ ์คํธ ์ฝ๋๋ฅผ ์ ์ผ ๋จผ์ ์์ฑํ ์์ ์ด๋ค.