问题描述
我正在使用Java使用Webrtc开发adroid视频通话应用。当其他同位体的连接状态更改时,我想做些东西。例如,当他在失去连接后尝试重新连接时。 我在 PeerConnection.Observer 中找到了一些方法,但我不知道应该使用哪个方法以及为什么。 我发现了:
** onIceConnectionChange(PeerConnection.IceConnectionState iceConnectionState)
** onConnectionChange(PeerConnection.PeerConnectionState newState)
**和onIceConnectionReceivingChange
我需要你的帮助!
解决方法
iceConnectionState:表示对等体之间network/transport
层连接的状态。 ICE连接涉及检查两个对等方之间的一堆ICE候选对,以尝试找到两个对等方可以进行通信的套接字对。一旦状态更改为connected
,对等方便可以进行通信。
connectionState:建立在iceConnectionState
之上,代表对等体之间的application
层连接。本质上,连接状态是iceConnection + DTLS。如果您不在乎低级详细信息,那么这是要监视的状态。 connectionState
中的connected
意味着iceConnectionState
中的connected
。
onIceConnectionReceivingChange
:这似乎不属于“正式”(草稿)WebRTC API的一部分。它可能来自您正在使用的javascript适配器或库。