Page 300 - Web性能权威指南
P. 300

•   new:ICE 代理正在收集候选项且 / 或正在等待远程候选项的到来。
               •   checking:ICE 代理至少已经收到来自一个组件的远程候选项,而且正在检查候
                 选项,但尚未发现连接;除了检查之外,可能仍然在收集。
               •   connected:ICE 代理已经找到一条通过所有组件的可用连接,但仍在检查其他候
                 选项,以确定是否存在更好的连接;此时仍有可能还在收集。
               •   completed:ICE 代理已经完成收集和检查,而且发现了通过所有组件的连接。
               •   failed:ICE 代理检查完了所有候选项,但至少有一个组件的连接失败;其他一
                 些组件的连接可能成功了。
               •   disconnected:一或多个组件的活动检查失败,相对 failed 更严重,在不稳定的
                 网络上可能会间歇性触发(不需要采取什么行动)。
               •   closed:ICE 代理已经关闭,不再响应 STUN 请求。


















               图 18-9:ICE 代理连接状态和切换

               一个新的 WebRTC 会话可能需要多个流来交付音频、视频和应用数据。因此,成功
               的连接应该针对所有请求的流都能建立连接。而且,由于端到端连接本身并不可靠,
               也不能保证连接建立后会一直可用:连接可能会周期性地在连接和断开状态之间来
               回切换,而 ICE 代理在重新建立连接时,也会尝试选择最佳路径。


                          ICE 代理最重要的目标,就是识别端到端之间的可行路径。可是,ICE 代
                          理不会就此止步。即便是连接已经建立,ICE 代理也可能周期性地尝试其
                          他候选项,以确定其他路径的性能是否更好。














               290   |   第 18 章
   295   296   297   298   299   300   301   302   303   304   305