连接故障排查
手机不出现、无法配对或频繁断开时,该检查什么。
本页为译文。如与英文版不一致,以英文版为准。 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 下连接一次;或者使用带固定主机名的命名隧道。