RTCIceTransport
RTCIceTransport
接口提供了有关数据发送和接收所使用的 ICE 传输层的信息。如果您需要访问有关连接的状态信息,这将特别有用。
实例属性
RTCIceTransport
接口继承了其父接口 EventTarget
的属性。它还提供了以下属性
component
只读-
传输正在使用的 ICE 组件。该值为
RTCIceTransport
枚举类型中的一个字符串:"RTP"
或"RTSP"
。 gatheringState
只读-
一个字符串,指示 ICE 代理的当前收集状态:
"new"
、"gathering"
或"complete"
。 role
只读-
返回一个字符串,其值为
"controlling"
或"controlled"
;这表示 ICE 代理是否为最终决定要使用的候选对的决策者。 state
只读-
一个字符串,指示 ICE 代理的当前状态。
state
的值可用于确定 ICE 代理是否已使用可行的候选对建立了初始连接 ("connected"
)、已完成其候选对的最终选择 ("completed"
) 或处于错误状态 ("failed"
),以及其他状态。
实例方法
还包括来自 EventTarget
(父接口)的方法。
getLocalCandidates()
-
返回一个
RTCIceCandidate
对象数组,每个对象描述一个到目前为止为本地设备收集到的 ICE 候选对象。这些与已通过向RTCPeerConnection
发送icecandidate
事件以进行传输的候选对象相同。 getLocalParameters()
-
返回一个
RTCIceParameters
对象,该对象描述了通过调用RTCPeerConnection.setLocalDescription()
方法建立的 ICE 参数。如果尚未收到参数,则返回null
。 getRemoteCandidates()
-
返回一个
RTCIceCandidate
对象数组,每个对象对应于RTCPeerConnection
的本地端接收到的远程设备的每个 ICE 候选对象,并通过调用addIceCandidate()
传递给 ICE。 getRemoteParameters()
-
返回一个
RTCIceParameters
对象,其中包含远程设备的 ICE 参数,由调用RTCPeerConnection.setRemoteDescription()
设置。如果尚未调用setRemoteDescription()
,则返回值为null
。 getSelectedCandidatePair()
-
返回一个
RTCIceCandidatePair
对象,该对象标识到目前为止已选择的两个候选对象(连接的每一端一个)。以后可能会找到并选择更好的对;如果您需要了解这一点,请关注selectedcandidatepairchange
事件。如果尚未选择任何候选对,则返回值为null
。
事件
使用 addEventListener()
或通过将事件侦听器分配给此接口的 oneventname
属性来侦听这些事件。
gatheringstatechange
-
发送到
RTCIceTransport
对象,以指示gatheringState
属性的值已更改,表明此传输的 ICE 候选对象协商过程已发生变化。也可通过ongatheringstatechange
事件处理程序属性获得。 selectedcandidatepairchange
-
当已选择新的、更好的候选对象对来描述两个对等体之间的连接性时,发送到
RTCIceTransport
。这发生在协商或重新协商期间,包括 ICE 重启后,ICE 重启会重用现有的RTCIceTransport
对象。可以使用getSelectedCandidatePair()
获取当前的候选对象对。也可使用onselectedcandidatepairchange
事件处理程序属性获得。 statechange
-
当
state
属性的值发生变化时,发送到RTCIceTransport
实例,表示 ICE 收集过程的状态已发生变化。也可通过onstatechange
事件处理程序属性获得。
示例
待定
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # dom-rtcicetransport |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。