RTCSessionDescription

Experimental: 这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

RTCSessionDescription 接口描述连接或潜在连接的一端的配置方式。 每一个RTCSessionDescription 由一个描述类型组成,该描述类型指示它所描述的请求/应答协商过程的SDP 协议的相关描述。

RTCSessionDescription 在两个对等点之间协商连接的过程涉及来回交换对象,每个描述都表示描述的发送者支持的连接配置选项的一个组合。一旦两个对等方就连接的配置达成一致,协商就完成了。

属性

RTCSessionDescription 接口不继承任何属性 

RTCSessionDescription.type (en-US) 只读
RTCSdpType 会话描述类型的原型枚举。
RTCSessionDescription.sdp (en-US) 只读
一个 DOMString 包含会话的SDP协议描述。

常数

RTCSdpType

当前枚举值定义当前会话描述的状态,例如这个属性: type (en-US) 。 会话描述的值将使用如下值之一。

Value Description
answer SDP协议请求内容包含在属性sdp (en-US)中。 换言之,此会话描述描述了商定的配置,并将被发送以完成协商。.
offer 该会话描述对象描述首次握手的请求/响应。会话过程从发送方到接收方。
pranswer 会话描述对象描述一个临时响应;也就是说,它是对以前的提议或临时答案的响应。
rollback 具有空会话描述的这种特殊类型用于回滚到以前的稳定状态。

方法

RTCSessionDescription 不继承任何方法。

RTCSessionDescription() (en-US)
该构造函数返回一个新的RTCSessionDescription对象。参数是 RTCSessionDescriptionInit 字典包含包含分配这两个属性的值。
RTCSessionDescription.toJSON() (en-US)
返回一个JSON 描述对象. 该对象包含两个值, type (en-US)sdp (en-US)

Example

signalingChannel.onmessage = function (evt) {
    if (!pc)
        start(false);

    var message = JSON.parse(evt.data);
    if (message.sdp)
        pc.setRemoteDescription(new RTCSessionDescription(message), function () {
            // if we received an offer, we need to answer
            if (pc.remoteDescription.type == "offer")
                pc.createAnswer(localDescCreated, logError);
        }, logError);
    else
        pc.addIceCandidate(new RTCIceCandidate(message.candidate),
            function () {}, logError);
};

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
RTCSessionDescription
Candidate Recommendation Initial definition.

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) -moz (en-US) 未实现 (Yes) ?
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? (Yes) ? 未实现 ? ?

See also