Webrtc:onIceConnectionChange 和 onConnectionChange 有什么区别
Webrtc: What is the difference between onIceConnectionChange and onConnectionChange
我正在使用 java 开发一个带有 Webrtc 的 adroid 视频通话应用程序。当其他对等方的连接状态发生变化时,我想做一些事情。例如,当他在失去连接后试图重新连接时。
我在 PeerConnection.Observer 中找到了一些方法,但我不知道应该使用哪一个以及为什么。
我发现:
** onIceConnectionChange(PeerConnection.IceConnectionState iceConnectionState)
,
** onConnectionChange(PeerConnection.PeerConnectionState newState)
** 和 onIceConnectionReceivingChange
我需要你的帮助!
iceConnectionState:表示peer之间network/transport
层连接的状态。 ICE 连接涉及检查两个对等点之间的一堆 ICE 候选对,以尝试找到两个对等点可以通信的套接字对。一旦状态变为 connected
,那么对等点就可以通信了。
connectionState:建立在iceConnectionState
之上,代表对等点之间的application
层连接。本质上,连接状态是 iceConnection + DTLS。如果您不关心底层细节,那么这就是要监视的状态。 connected
的 connectionState
意味着 connected
的 iceConnectionState
。
onIceConnectionReceivingChange
:这似乎不是“官方”(草案)的一部分WebRTC API。它可能来自您正在使用的 javascript 适配器或库。
我正在使用 java 开发一个带有 Webrtc 的 adroid 视频通话应用程序。当其他对等方的连接状态发生变化时,我想做一些事情。例如,当他在失去连接后试图重新连接时。 我在 PeerConnection.Observer 中找到了一些方法,但我不知道应该使用哪一个以及为什么。 我发现:
** onIceConnectionChange(PeerConnection.IceConnectionState iceConnectionState)
,
** onConnectionChange(PeerConnection.PeerConnectionState newState)
** 和 onIceConnectionReceivingChange
我需要你的帮助!
iceConnectionState:表示peer之间network/transport
层连接的状态。 ICE 连接涉及检查两个对等点之间的一堆 ICE 候选对,以尝试找到两个对等点可以通信的套接字对。一旦状态变为 connected
,那么对等点就可以通信了。
connectionState:建立在iceConnectionState
之上,代表对等点之间的application
层连接。本质上,连接状态是 iceConnection + DTLS。如果您不关心底层细节,那么这就是要监视的状态。 connected
的 connectionState
意味着 connected
的 iceConnectionState
。
onIceConnectionReceivingChange
:这似乎不是“官方”(草案)的一部分WebRTC API。它可能来自您正在使用的 javascript 适配器或库。