RTCIceTransport - 用于访问发送和接收数据的 ICE 传输层的信息

RTCIceTransport 接口用于访问有关在其上发送和接收数据的 ICE 传输层的信息。如果您需要访问有关连接的状态信息,该接口特别有用。

属性

RTCIceTransport 接口从其接口 EventTarget 继承了属性。它还提供以下属性:

component 只读

一个 DOMString,表示传输使用的 ICE 组件。该值是 RTCIceTransport 枚举类型的成员之一: "RTP""RTSP"

gatheringState 只读

一个 DOMString,表示 ICE 代理当前处于哪个收集状态。该值是 RTCIceGathererState 枚举类型的成员之一:"new""gathering""complete"

role 只读

一个 DOMString,表示 ICE 代理是否是对要使用的候选对做出最终决定的代理。该值是 RTCIceRole 枚举类型的成员之一:"controlling""controlled"

state 只读

一个 DOMString,指示 ICE 代理的当前状态是什么。state 的值可用于确定 ICE 代理是否已使用可行的候选对建立了初始连接("connected"),做出了候选对的最终选择("completed")或错误状态("failed")以及其他状态。有关完整的状态列表,请参见 RTCIceTransportState 枚举类型。

方法

还包括来自父接口 EventTarget 的方法。

getLocalCandidates()

返回一个包含 RTCIceCandidate 对象的数组,每个对象描述到目前为止已为本地设备收集的 ICE 候选对象之一。这些是已经通过向 RTCPeerConnection 发送 icecandidate 事件以进行传输而发送给远程对等方的相同候选者。

getLocalParameters()

返回一个 RTCIceParameters 对象,该对象描述了通过调用 RTCPeerConnection.setLocalDescription() 方法而建立的 ICE 参数。如果尚未接收到参数,则返回 null

getRemoteCandidates()

返回一个包含 RTCIceCandidate 对象的数组,用于远程设备的 ICE 候选对象,这些候选对象已经被 RTCPeerConnection 的本地端接收并通过调用 addIceCandidate() 传递给 ICE。

getRemoteParameters()

返回一个 RTCIceParameters 对象,该对象包含通过调用 RTCPeerConnection.setRemoteDescription() 设置的远程设备的 ICE 参数。如果尚未调用 setRemoteDescription(),则返回值为 null

getSelectedCandidatePair()

返回一个 RTCIceCandidatePair 对象,该对象标识到目前为止已选择的两个候选对象(每个连接端一个)。以后可能会找到并选择更好的候选对。如果您需要跟上此事,请注意 selectedcandidatepairchange 事件。如果尚未选择任何候选对,则返回值为 null

事件

使用 addEventListener() 或通过为此接口的 oneventname 属性分配事件监听器来监听这些事件。

gatheringstatechange

发送到 RTCIceTransport 对象,以指示 gatheringState 属性的值已更改,表明此传输的 ICE 候选协商中已更改处理。也可以通过 ongatheringstatechange 事件处理程序属性设置。

selectedcandidatepairchange

当选择了一个新的更好的候选对来描述两个对等点之间的连接时,发送到 RTCIceTransport。这是在协商或重新协商期间发生的,包括在 ICE 重新启动后重新使用现有的 RTCIceTransport 对象的情况。可以使用 getSelectedCandidatePair() 获得当前候选对。也可以通过 onselectedcandidatepairchange 事件处理程序属性来设置。

statechange

state 属性的值更改时,将其发送到 RTCIceTransport 实例,表明 ICE 收集过程已更改状态。也可以通过 onstatechange 事件处理程序属性设置。

规范

规范 状态 备注
WebRTC 1.0: Real-time Communication Between Browsers
RTCIceTransport 的定义
候选推荐 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 不支持15 — 79 不支持 不支持 不支持11
component 不支持15 — 79 不支持 不支持 不支持 不支持
gatheringState 不支持 不支持 不支持 不支持 不支持11
gatheringstatechange 事件 不支持 不支持 不支持 不支持 不支持 不支持
getLocalCandidates 不支持 不支持 不支持 不支持 不支持 不支持
getLocalParameters 不支持 不支持 不支持 不支持 不支持 不支持
getRemoteCandidates 不支持15 — 79 不支持 不支持 不支持 不支持
getRemoteParameters 不支持15 — 79 不支持 不支持 不支持 不支持
getSelectedCandidatePair 不支持15 — 791 不支持 不支持 不支持 不支持
ongatheringstatechange 不支持 不支持 不支持 不支持 不支持 不支持
onselectedcandidatepairchange 不支持 不支持 不支持 不支持 不支持 不支持
onstatechange 不支持 不支持 不支持 不支持 不支持 不支持
role 不支持15 — 79 不支持 不支持 不支持 不支持
selectedcandidatepairchange 事件 不支持 不支持 不支持 不支持 不支持 不支持
state 不支持15 — 79 不支持 不支持 不支持11
statechange 事件 不支持 不支持 不支持 不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持 不支持 未知 不支持 未知 不支持11
component 不支持 不支持 未知 不支持 未知 不支持 不支持
gatheringState 不支持 不支持 未知 不支持 未知 不支持11
gatheringstatechange 事件 不支持 不支持 未知 不支持 未知 不支持 不支持
getLocalCandidates 不支持 不支持 未知 不支持 未知 不支持 不支持
getLocalParameters 不支持 不支持 未知 不支持 未知 不支持 不支持
getRemoteCandidates 不支持 不支持 未知 不支持 未知 不支持 不支持
getRemoteParameters 不支持 不支持 未知 不支持 未知 不支持 不支持
getSelectedCandidatePair 不支持 不支持 未知 不支持 未知 不支持 不支持
ongatheringstatechange 不支持 不支持 未知 不支持 未知 不支持 不支持
onselectedcandidatepairchange 不支持 不支持 未知 不支持 未知 不支持 不支持
onstatechange 不支持 不支持 未知 不支持 未知 不支持 不支持
role 不支持 不支持 未知 不支持 未知 不支持 不支持
selectedcandidatepairchange 事件 不支持 不支持 未知 不支持 未知 不支持 不支持
state 不支持 不支持 未知 不支持 未知 不支持11
statechange 事件 不支持 不支持 未知 不支持 未知 不支持 不支持

1. 通过 getNominatedCandidatePair 支持。