RTCPeerConnection.canTrickleIceCandidates - Web API 接口参考 编辑

只读的 RTCPeerConnection 属性 canTrickleIceCandidates 返回一个Boolean,它指示远程对等端是否可以接受 trickled ICE candidates

ICE trickling是在初始发送或回应已经发送给其他设备之后继续发送候选的过程。

仅在调用RTCPeerConnection.setRemoteDescription()之后才设置此属性。 理想情况下,您的信令协议提供了一种检测滴流支持的方法,因此您无需依赖此属性。 WebRTC浏览器将始终支持trickle ICE。 如果不支持滴流,或者您无法辨别,则可以检查此属性的伪值,然后等待iceGatheringState的值更改在创建和发送之前“完成”。 这样,发送信息包含所有候选。

语法

 var canTrickle = RTCPeerConnection.canTrickleIceCandidates;

Boolean 如果远程对等体可以接受滴入的ICE candidate,则为true;如果不能,则为false。 如果尚未建立远程对等方,则此值为null。

Note: 一旦本地对等方调用RTCPeerConnection.setRemoteDescription(),就确定该属性的值; ICE代理使用所提供的描述来确定远程对等体是否支持滴入的ICE candidates。

用例

var pc = new RTCPeerConnection();
// The following code might be used to handle an offer from a peer when
// it isn't known whether it supports trickle ICE.
pc.setRemoteDescription(remoteOffer)
  .then(_ => pc.createAnswer())
  .then(answer => pc.setLocalDescription(answer))
  .then(_ =>
    if (pc.canTrickleIceCandidates) {
      return pc.localDescription;
    }
    return new Promise(r => {
      pc.addEventListener('icegatheringstatechange', e => {
        if (e.target.iceGatheringState === 'complete') {
          r(pc.localDescription);
        }
      });
    });
  })
  .then(answer => sendAnswerToPeer(answer)) // signaling message
  .catch(e => handleError(e));

pc.addEventListener('icecandidate', e => {
  if (pc.canTrickleIceCandidates) {
    sendCandidateToPeer(e.candidate); // signaling message
  }
});

规范

SpecificationStatusComment
WebRTC 1.0: Real-time Communication Between Browsers
RTCPeerConnection.canTrickleIceCandidates
Candidate RecommendationInitial specification.

浏览器兼容性

BCD tables only load in the browser

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

相关阅读

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:46 次

字数:4525

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文