RTCPeerConnection: getConfiguration() 方法

Baseline 已广泛支持

此特性已成熟稳定,适用于多种设备和浏览器版本。自 2018 年 10 月起,它已在各浏览器中可用。

RTCPeerConnection 接口的 getConfiguration() 方法会返回一个对象,该对象指示调用该方法的 RTCPeerConnection 的当前配置。

返回的配置是最后通过 setConfiguration() 应用的配置,如果尚未调用 setConfiguration(),则是在构造 RTCPeerConnection 时使用的配置。配置包括连接使用的 ICE 服务器列表、有关传输策略的信息以及身份信息。

语法

js
getConfiguration()

参数

无。

返回值

一个描述 RTCPeerConnection 当前配置的对象。有关允许的选项的更多信息,请参阅 RTCPeerConnection()

示例

此示例在连接尚未配置证书时,向活动连接添加一个新证书。

js
let configuration = myPeerConnection.getConfiguration();

if (configuration.certificates?.length === 0) {
  RTCPeerConnection.generateCertificate({
    name: "RSASSA-PKCS1-v1_5",
    hash: "SHA-256",
    modulusLength: 2048,
    publicExponent: new Uint8Array([1, 0, 1]),
  }).then((cert) => {
    configuration.certificates = [cert];
    myPeerConnection.setConfiguration(configuration);
  });
}

此示例会获取 RTCPeerConnection 的当前配置,然后通过检查配置是否具有 certificates 属性以及该属性的长度是否为零来判断它是否已设置任何证书。

如果确定没有设置证书,则调用 RTCPeerConnection.generateCertificate() 来创建一个新证书;我们提供一个 fulfillment handler,该 handler 将包含新创建的证书的数组添加到当前配置中,并将其传递给 setConfiguration() 以将证书添加到连接。

规范

规范
WebRTC:浏览器中的实时通信
# dom-rtcpeerconnection-getconfiguration

浏览器兼容性

另见