RTCIceTransport

RTCIceTransport 接口提供了有关数据发送和接收所使用的 ICE 传输层的信息。如果您需要访问有关连接的状态信息,这将特别有用。

EventTarget RTCIceTransport

实例属性

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 的浏览器中加载。