P2P 连接失败

当 P2P 连接建立失败时,界面通常会持续显示“ P2P 重连中”或反复重连状态,如下所示:

P2P 连接失败示意图
P2P 连接失败示意图

P2P 连接条件说明

本地投屏(同一局域网内)

  • 局域网 IPv4 ⇆ 局域网 IPv4
  • 控制端与被控端在同一局域网下,可直接建立 P2P 连接,无需中继服务器。

远程投屏(不同网络环境)

网络类型是否可直接 P2P是否需中继服务器
公网 IPv6 ⇆ 公网 IPv6✅ 是❌ 否
公网 IPv4 ⇆ 公网 IPv6✅ 是❌ 否
公网 IPv4 ⇆ 局域网 IPv4✅ 是(支持 NAT 穿透)❌ 否

必须使用中继服务器的场景

网络类型原因
局域网 IPv4 ⇆ 局域网 IPv4(不同 NAT)❌ 无公网地址,无法实现 NAT 穿透
局域网 IPv4 ⇆ 公网 IPv6❌ 地址族不一致,且无公网 IPv4 地址

常见网络类型说明

  • 大多数移动、联通、电信手机卡、全网通流量卡、宽带及共享路由器网络
    • 通常具备公网 IPv6 地址,可顺利建立 P2P 直接连接,无需中继服务器,实现远程投屏及大文件传输。
  • 路由器默认未开启公网 IPv6
    • 登录路由器管理后台手动开启 IPv6
    • 开启后建议重启路由器确保生效
  • 支持公网 IPv6 的云手机示例:星界链云、移动云
  • 支持公网 IPv4 的云手机示例:芒果云
  • 联通用户可申请公网 IPv4 地址,移动和电信一般不提供此类服务
  • 🛑 无法建立 P2P 直接连接的网络场景
    • 少数物联卡、单网流量卡
    • 部分云手机(如天翼云、鲨克云)
    • 这些网络仅具备局域网 IPv4 地址,缺乏公网 IPv6 支持,导致无法直接 P2P 连接

检查电脑/手机网络信息

  1. 打开浏览器访问: http://cloud.jsdevhub.com/#/network
    推荐使用 Chrome 浏览器。若在后续步骤中点击“收集候选项”无结果,请尝试更换浏览器。
  2. 点击 收集候选项 查看 IP 信息:
    • ✅ 有公网 IPv6 → 可直接建立远程 P2P 连接
    • ❌ 无公网 IPv6 → 需继续排查或搭建中继服务器

P2P 连接失败解决方案

P2P 直连依赖公网 IP(IPv6 或 IPv4)。
由于大多数网络不提供公网 IPv4,通常需要依赖 公网 IPv6 才能建立直连。

若无法获取公网 IP,则需通过中继服务器实现连接。

1. 检查控制端与被控端 IP

  • 分别查看电脑端和手机端网络信息
  • 是否拥有 公网 IPv6 地址
  • 若无公网 IPv6,请进行下一步排查

2. 排查 IP 问题

  • 检查路由器设置,确保 IPv6 功能已开启,并重启路由器
  • 如仍无公网 IPv6,可联系宽带运营商确认网络是否支持公网 IPv6
  • 如宽带运营商能支持公网 IPv4也能解决问题,但是大部分运营上都不提供。
    若经过上述步骤仍无法获取公网 IPv6,P2P 直接连接将无法建立

3. 搭建中继服务器

  • 公网 IPv6 无法解决时,通过搭建中继服务器实现远程投屏及文件传输
  • 中继服务器作为 NAT 穿透和跨网连接的桥梁,确保连接稳定
  • 参考教程:中继投屏服务器部署