连接故障排查

手机不出现、无法配对或频繁断开时,该检查什么。

本页为译文。如与英文版不一致,以英文版为准。 English

先运行这两个命令:

droidline doctor
droidline serve --verbose

doctor 检查服务器是否响应、端口是否空闲、手机是否已配对,以及电脑是否有网络地址。--verbose 会记录每一次连接尝试,包括被拒绝的握手。

应用在 Wi-Fi 上找不到电脑

  • 在 Windows 防火墙中允许 droidline 在专用网络上通信,并确认 Wi-Fi 设置为专用网络。
  • 访客网络和部分 Mesh 路由器会隔离客户端。使用主网络,或者改为扫描二维码。
  • 手机和电脑在不同子网:用二维码配对,二维码中带有电脑的地址。

配对代码被拒绝

PAIRING_FAILED 表示没有手机在用这个代码等待配对。代码 5 分钟后过期;再次点击在此 Wi-Fi 下配对可以获取新代码。二维码 10 分钟内有效,只能用于一部手机;要配对另一部,请再次运行 droidline pair。

应用提示电脑拒绝了它

电脑已经不认识这部手机了,通常是因为它被 droidline revoke 移除,或者服务器的文件夹被删除或移动了。重新配对这部手机。

手机频繁断开

  • 电池优化:把应用设为不受限制,并在品牌特有的应用休眠或自启动列表中允许它。
  • 使用信号较弱的移动数据时会频繁重连;这是正常的,而且不会有命令被执行两次。
  • 如果在 Wi-Fi 下能连上、在外面连不上,说明手机还没有远程地址。配置地址后,让它在 Wi-Fi 下连接一次,或者重新配对。

端口转发不起作用

  • 你的网络可能位于运营商级 NAT 之后;请使用隧道或中继。
  • 删除 tls.crt 之后,证书已经改变,手机会拒绝它;请重新配对这些手机。

中继问题

症状原因
服务器日志显示中继返回 401中继上的 RELAY_TOKEN 与传给 droidline relay set 的令牌不一致
Workers 中继返回 503尚未设置 RELAY_TOKEN 密钥
手机通过中继配对时返回 409这部手机已经用自己的票据连接;这是正常现象
手机被断开,代码为 4008它每秒发送超过 50 行;请更新应用

隧道地址变了

快速隧道每次启动都会获得新地址。更新 remote.addresses,重启服务器,再让手机在 Wi-Fi 下连接一次;或者使用带固定主机名的命名隧道。