You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebRTC ICE与SDP交换成功,但PeerConnection卡在New状态

Android WebRTC ICE连接停留在Checking状态的常见原因
  • ICE候选处理时机错误:如果在本地SDP未完成设置就添加远程ICE候选,或者远程SDP未正确配置就开始处理ICE,会导致ICE无法正常配对。必须确保setLocalDescription/setRemoteDescription的异步回调执行完成后,再添加对应的ICE候选。
  • 网络与ICE候选类型问题:
    • 双方仅存在主机型(Host)候选且不在同一局域网,NAT穿透失败;
    • 未配置有效的STUN/TURN服务器,公网环境下无法完成NAT穿越;
    • 网络防火墙或运营商屏蔽了ICE所需的UDP端口,导致候选无法连通。
  • WebRTC库配置或版本问题:
    • 使用的库版本存在ICE收集逻辑bug,导致ICE Gathering State一直处于Gathering状态,无法完成候选收集;
    • PeerConnection初始化时ICE服务器配置错误(如STUN地址无效、TURN认证信息错误),无法获取有效的中继候选。
  • SDP参数不匹配:
    • SDP中的媒体编码格式、类型不兼容,比如一方仅支持H.264,另一方仅支持VP8,会阻碍连接建立;
    • SDP中的ICE ufrag/密码不匹配,导致ICE校验失败,无法建立连接。
  • 线程操作违规:WebRTC的核心操作(设置SDP、添加ICE候选等)必须在专用线程(如库提供的Executor)中执行,若在主线程或非指定线程操作,会导致状态更新异常或逻辑阻塞。

内容的提问来源于stack exchange,提问作者Ritu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 06:59:50