WebRTCλ μ΄λ»κ² λμνλ?
λΈλΌμ°μ κ° μ§μ μμ/μμ±/λ°μ΄ν° μ μ‘
WebRTC(Web Real-Time Communication)λ λΈλΌμ°μ κ° P2P ν΅μ νμ€μ λλ€. μ°κ²° μ립 κ³Όμ μ 볡μ‘νμ§λ§, μΌλ¨ μ°κ²°λλ©΄ μλ²λ₯Ό κ±°μΉμ§ μκ³ μ§μ λ―Έλμ΄/λ°μ΄ν°λ₯Ό μ μ‘ν©λλ€. μκ·Έλλ§ μλ²(WebSocket λ±)λ‘ SDP(μΈμ κΈ°μ )μ ICE candidateλ₯Ό κ΅ννκ³ , STUN μλ²λ‘ κ³΅μΈ IPλ₯Ό μμλ΄λ©°, μ§μ μ°κ²°μ΄ λΆκ°λ₯νλ©΄ TURN μλ²κ° μ€κ³ν©λλ€.
ꡬ쑰 λ€μ΄μ΄κ·Έλ¨
λμ νλ¦
Peer Aκ° μκ·Έλλ§ μλ²μ μ°κ²° (WebSocket)
Peer Aκ° RTCPeerConnection μμ±, SDP Offer μμ± ν μκ·Έλλ§μΌλ‘ μ μ‘
Peer Bκ° SDP Offer μμ , SDP Answer μμ± ν μκ·Έλλ§μΌλ‘ μλ΅
μμͺ½μ΄ ICE candidateλ₯Ό μμ§ (STUN μλ²λ‘ κ³΅μΈ IP νμΈ)
ICE candidate κ΅ν β μ΅μ κ²½λ‘ μ ν β P2P μ§μ μ°κ²° μ립
μ§μ μ°κ²° λΆκ° μ TURN μλ²κ° λ―Έλμ΄ μ€κ³ (relay)
μ₯μ
- ✓ μλ² λΉμ© μ΅μν (P2P μ§μ μ μ‘)
- ✓ μ μ§μ° ν΅μ
- ✓ λΈλΌμ°μ λ΄μ₯ API
- ✓ λ³λ νλ¬κ·ΈμΈ λΆνμ
λ¨μ
- ✗ μκ·Έλλ§ μλ²λ λ³λ νμ
- ✗ NAT/λ°©νλ²½ λ¬Έμ (STUN/TURN νμ)
- ✗ TURN μλ² λΉμ© (μ€κ³ μ)
- ✗ λΈλΌμ°μ νΈνμ± μ΄μ