Baseline Widely available
Experimental: ì´ ê¸°ë¥ì ì¤íì ì¸ ê¸°ë¥ì
ëë¤.
íë¡ëì
íê²½ìì ì¬ì©í기 ì ì ë¸ë¼ì°ì í¸íì± í를 주ì ê¹ê² íì¸íì¸ì.
RTCPeerConnection.setLocalDescription()
ë©ìëë ì°ê²° ì¸í°íì´ì¤ì ê´ë ¨ì´ ìë ë¡ì»¬ ì¤ëª
(local description)ì ë³ê²½í©ëë¤. ë¡ì»¬ ì¤ëª
ì 미ëì´ íìì í¬í¨íë ì°ê²°ì ë¡ì»¬ ìëì ëí ìì±ì ëª
ìí©ëë¤.
ì´ ë©ìëë ì¸ì
ì¤ëª
(session description)ì ë¨ì¼ 매ê°ë³ìë¡ ê°ì§ë©°, ì¤ëª
ì´ ë¹ë기ì ì¼ë¡ ë³íê²ëë©´ fulfilledëë Promise
를 ë°íí©ëë¤.
ì°ê²°ì´ ì´ë¯¸ ëì´ìëë° setLocalDescription()
ê° í¸ì¶ëë¤ë©´, ì´ë ì¬íìì´ ì§í ì¤ì´ë¼ë ë»ì
ëë¤ (ìë§ë ë¤í¸ìí¬ íê²½ì´ ë°ë ê²ì ëìí기 ìí¨ì¼ ê²ì
ëë¤). ëëª
ì í¼ì´ê° ì¤ì ê°ì 모ë ëìí´ì¼ì§ë§ ì¤ëª
ì´ êµíë기 ë문ì, setLocalDescription()
ì í¸ì¶ë¡ ì ì¡ë ì¤ëª
ì ì¦ì ì¬ì©ëì§ ëª»í©ëë¤. ëì íìì´ ìë£ëë ìê°ê¹ì§ë 기존 ì°ê²° ì¤ì ëë¡ ìë íê² ë©ëë¤. ê·¸ë¬ë¤ê° íìì´ ìë£ë ë¤ìììì¼ ì ê· ì¤ì ì´ ì¬ì©ë©ëë¤.
aPromise = RTCPeerConnection.setLocalDescription(sessionDescription);
pc.setLocalDescription(sessionDescription, successCallback, errorCallback);
ë§¤ê° ë³ì
sessionDescription
ì°ê²°ì ë¡ì»¬ ìëì ì ì©ìí¬ ì¤ì ê°ì ì§ì íë RTCSessionDescriptionInit
í¹ì RTCSessionDescription
ì
ëë¤.
sessionDescription
ë§¤ê° ë³ìë ì¼ë¨ 기ì ì ì¼ë¡ë RTCSessionDescriptionInit
ì íì
ì
ëë¤. íì§ë§, RTCSessionDescription
ê° RTCSessionDescriptionInit
ì 구ë³ì´ ë¶ê°ë¥íëë¡ ì§ë ¬í (serialize)í기 ë문ì, RTCSessionDescription
를 ì ë¬ í ìë ììµëë¤. ì´ ë§ì ì½ëê° ë¤ìê³¼ ê°ì´ ê°ë¨í´ì§ ì ìë¤ë ë»ì
ëë¤:
myPeerConnection.createOffer().then(function (offer) {
return myPeerConnection.setLocalDescription(new RTCSessionDescription(offer));
});
ì ì½ë를 ìëì ê°ì´ ê°ë¨íê² ì¬ì©ì´ ê°ë¥í´ì§ëë¤:
myPeerConnection.createOffer().then(myPeerConnection.setLocalDescription);
ì´ë¬í ì´ì ë¡, RTCSessionDescription()
ìì±ìë ë ì´ì ì¬ì©ëì§ ììµëë¤.
RTCPeerConnection.localDescription
ì ê°ì´ ì±ê³µì ì¼ë¡ ë°ëê±°ë í¹ì ë³íì´ ë¶ê°ë¥í ê²½ì° ê±°ì ëë©´ fulfill ëë Promise
ì
ëë¤. ê±°ì ëë ìë¡ë ëª
ìí ì¤ëª
ì´ ì°ê²°ì ì¡´ì¬íë íë í¹ì ì쪽 모ëì í¼ì´ë¤ê³¼ í¸íì´ ë¶ê°ë¥íë©´ ë°ìí기ë í©ëë¤. ì°¸ê³ ë¡ íë¡ë¯¸ì¤ì fulfillment í¸ë¤ë¬ë ì
ë ¥ ë§¤ê° ë³ì를 ë°ì§ ììµëë¤.
ì°¸ê³ : ì¤ëª ì ë°ê¾¸ë ê³¼ì ì ë³ê²½ì´ ì¤í¨í´ë ì°ê²° ìí를 ìì§ ìê² ë³´ì¥íëë¡ WebRTC ë ì´ì´ì ìí´ì ì²ë¦¬ëë ì¤ê° ë¨ê³ë¥¼ 거칩ëë¤. ì´ ê³¼ì ì ëí ìì¸í ì¤ëª ì Pending and current descriptions를 참조íììì¤.
ì§ìì´ ì¤ë¨ë ë§¤ê° ë³ìì´ì ë²ì ì 문ìììë ì½ë°± 기ë°ì í¨ì를 ì°¾ì ì ììµëë¤. ì½ë°± í¨ìë ì§ìì´ ì¤ë¨ëìê³ , ì¶íì ìì ë ìì ì´ê¸° ë문ì ì¬ì©íì§ ìëë¡ ê°ë ¥í ê¶ì¥íê³ ììµëë¤. ì´ë¯¸ ì½ë°± í¨ì를 ì¬ì© ì¤ì´ë¼ë©´, Promise
기ë°ì¸ setLocalDescription()
를 ëì ì¬ì©íëë¡ ì
ë°ì´í¸ í´ì¼í©ëë¤. 기존 ì½ë ì
ë°ì´í¸ì ëìì 주기 ìí´, ìëììë ì´ì ë²ì ì setLocalDescription()
ì ëí ë§¤ê° ë³ì를 ì¤ëª
í©ëë¤.
successCallback
ì§ìì´ ì¤ë¨ëììµëë¤
ì¤ëª
ê°ì´ ì±ê³µì ì¼ë¡ ì¤ì ëë©´ ì
ë ¥ ë§¤ê° ë³ì ìì´ í¸ì¶ëë JavaScript Function
ì
ëë¤. ì¬ê¸°ì, offerê° ìê·¸ëë§ ìë²ë¥¼ íµí´ì ì격 ì ì ìê² ì ì¡ ë ì ììµëë¤.
errorCallback
ì§ìì´ ì¤ë¨ëììµëë¤
ì¤ëª
ê°ì´ ì¤ì ì´ ë¶ê°ë¥í ëì í¸ì¶ëì´ RTCPeerConnectionErrorCallback
ìëª
ì íì¸íë í¨ìì
ëë¤. ì¬ê¸°ìë ìì²ì´ ì ì¤í¨íëì§ë¥¼ ì¤ëª
íë DOMException
ê°ì²´ë¥¼ ì ë¬í©ëë¤.
ì§ìì´ ì¤ë¨ë ìì ë©ìëë ì¤ì ì¤ì ì´ ë°ë기 ì ì ë°ë¡ ë°íí©ëë¤. ì±ê³µíë©´ successCallback
ê° í¸ì¶ëê³ , ì¤í¨íë©´ errorCallback
ê° í¸ì¶ë©ëë¤.
ì§ìì´ ì¤ë¨ë ì½ë°±ë²ì ì setLocalDescription()
를 ì¬ì©íê²ëë©´ ìëì ê°ì ìì¸ë¤ì´ ë° ì í ìë ììµëë¤:
InvalidStateError
ì§ìì´ ì¤ë¨ëììµëë¤
ì°ê²°ì signalingState
ê° "closed"
ìíê³ , ì´ë ì°ê²°ì´ íì¬ ì´ë¦° ìíê° ìëì¬ì íìì´ ë°ìí ì ìë¤ë ë»ì
ëë¤.
InvalidSessionDescriptionError
ì§ìì´ ì¤ë¨ëììµëë¤
sessionDescription
ì ìí´ ëª
ìë RTCSessionDescription
ë§¤ê° ë³ìê° ì í¨íì§ ììì ìë ¤ì¤ëë¤.
ìëì ììììë, negotiationneeded
ì´ë²¤í¸ì ëí í¸ë¤ë¬ë¥¼ 구ííììµëë¤:
function handleNegotiationNeededEvent() {
pc.createOffer()
.then(function (offer) {
return pc.setLocalDescription(offer);
})
.then(function () {
// Send the offer to the remote peer using the signaling server
})
.catch(reportError);
}
ì´ í¨ìë createOffer()
를 í¸ì¶íì¬ offer를 ìì±íë©´ì ììë©ëë¤. ì´ ê³¼ì ì´ ì±ê³µíë©´, setLocalDescription()
를 í¸ì¶í©ëë¤. íë¡ë¯¸ì¤ì ëí fulfillment í¸ë¤ë¬ë ìê·¸ëë§ ìë²ë¥¼ ì¬ì©í´ì ë¤ë¥¸ ì ì ìê² ì ê· ìì±ë offer를 ì ì¡í ì ìê² ë©ëë¤.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4