RTCPeerConnection.onicecandidate - Web API 接口参考 编辑
RTCPeerConnection
的属性 onicecandidate
(是一个事件触发器 EventHandler
) 能够让函数在事件icecandidate
发生在实例 RTCPeerConnection
上时被调用。 只要本地代理ICE 需要通过信令服务器传递信息给其他对等端时就会触发。 这让本地代理与其他对等体相协商而浏览器本身在使用时无需知道任何详细的有关信令技术的细节,只需要简单地应用这种方法就可使用您选择的任何消息传递技术将ICE候选发送到远程对等方。
Syntax
rtcPeerConnection.onicecandidate = eventHandler;
Value
这应该设置为您提供的函数,该函数接受RTCPeerConnectionIceEvent
表示icecandidate
事件的对象作为输入。该功能应该通过信令服务器将可以在事件属性中找到其SDP的ICE候选者传递candidate
给远程对等体。
如果事件的candidate
属性是null
,ICE收集已经完成。不应将此消息发送到远程对等方。发生这种情况时,连接iceGatheringState
也已更改为complete
。你不需要明确地注意这一点; 相反,如果你需要感知信令的结束,你应该注意一个icegatheringstatechange
事件,表明ICE协商已经转变为complete
状态。
Example
下面的示例基于文章信令和视频调用中的代码,为icecandidate
事件设置处理程序,以便将候选项发送到远程对等方。
pc.onicecandidate = function(event) {
if (event.candidate) {
// Send the candidate to the remote peer
} else {
// All ICE candidates have been sent
}
}
请注意,当检测到协议结束时candidate
属性为 null
.
Specifications
Specification | Status | Comment |
---|---|---|
WebRTC 1.0:浏览器之间的实时通信 该规范中“RTCPeerConnection.onicecandidate”的定义。 | Candidate Recommendation | Initial 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.See also
- The
icecandidate
event and its type,RTCPeerConnectionIceEvent
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论