Skip to content

iOS版1.0.5 建议重点优化 iOS 锁屏/解锁后 Hysteria2(UDP/QUIC)的连接恢复机制 #40

Description

@jekeccc

目前测试发现,同一台 iPhone、同一网络、同一 HY2 节点:

锁屏前:HY2 正常、速度快
锁屏一段时间后解锁:HY2 刚开始明显变慢,甚至请求卡住
等待几十秒到几分钟:自动恢复正常
同一 Clash 配置下 TCP Reality 基本可以立即恢复
同一 HY2 节点使用其他 iOS 代理客户端,锁屏后恢复也明显更快

日志可以看到 Packet Tunnel 出现 provider sleep → provider wake。TCP Reality 在 wake 后可以快速恢复,而 HY2/QUIC 在 wake 后存在较长时间的有效网络活动缺失,并出现 timeout: no recent network activity,之后才恢复。

因此建议重点检查:

  1. Packet Tunnel wake 后 UDP socket 的恢复;
  2. Hysteria2/QUIC stale connection 的快速检测;
  3. iOS Network Path Change 后 QUIC path migration;
  4. wake 后是否应该主动重建失效的 HY2 连接,而不是等待较长 timeout;
  5. 是否可以增加“锁屏唤醒后主动恢复 UDP/QUIC”的选项。

目标不是阻止 iOS 锁屏后的 Packet Tunnel sleep,而是让 Tunnel wake 后 HY2/QUIC 能够快速恢复,避免用户解锁后需要等待几十秒甚至几分钟才能恢复正常网络。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions