iPhone 手机熄屏 20 分钟后收不到消息,断断续续排查了五年多终于找到原因

92 天前
 Rhianu

一句话总结:移动宽带的原因,地理位置河北保定下面的小县城

具体现象: 手机息屏 20 分钟后,发任何消息,如微信、FaceTime 等消息时,屏幕不亮,没有任何消息提示(声音、震动)只有手机解锁打开,亮屏后,才能收到消息,可以看到消息都是几分钟,十几分钟前发过来的。

断断续续排查了 5 年,起初一直怀疑是设备本身的问题,但随着家里都陆陆续续的用苹果手机,发现在我家会有很高概率这个消息收不到的问题,经过一系列的排查,才发现问题的根本起因是移动宽带。

之前没发现是因为当移动数据和 Wi-Fi 同时开启的时候,如果 Wi-Fi 无法连接到苹果的 APNs 推送服务时,它会自动切换到移动网络,这个问题影响了我排查的方向,现在所有的苹果设备关掉移动网络后,只连移动宽带,二十分钟后就会有这个问题。

但具体更深层次为什么宽带会有这个问题,请教大家有知道的么。

目前移动的人员来我家做的事情:关掉了 ipv6 ,但是没效果

6360 次点击
所在节点    Apple
53 条回复
nolan1864
92 天前
@PPPaul 我不确定是不是就我自己这样,但感觉不是什么路由器的问题。把手机数据关了,路由器 ping 手机,然后息屏,我这里应该一两分钟就 timeout 了,不确定安卓手机什么情况。
PPPaul
92 天前
@nolan1864 系统层面我不清楚,应用层面安卓也是,除非开了白名单(电量优化那方面的)
wymam
92 天前
这个应该是 dns 问题,你试试 dhcp 设置把移动 dns 直接下发给终端或者手动在苹果设备里设置移动 dns 基本就解决了
ttvast
92 天前
@JConlee 你这个推理有个漏洞,既然这个 TCP 长链接通过 Keep-Alive 来维持, 那么当链接断开后,Keep-Alive 也有能力检测到链接的断开,从而重新链接。
gwbw
92 天前
提供一个控制变量的思路:息屏,但是保持手机网络活跃——打开一个直播间,开启后台播放,息屏放声音。如果这个状态下 20 分钟后能收到消息,那可能真是前面提到的长连接问题。
questionyu
92 天前
@JConlee #23 这不就是以前 FCM 遇到的问题么,没想到苹果也要如此被对待了?
Kenshiro
92 天前
其实就是🧱的问题,编制内的朋友表示现在不翻几乎接不到推送
flynaj
92 天前
桥接用 openwrt 24.10 拨号,国内这些光猫用的上老版本的 op
Rhianu
91 天前
@littlewing
@LxnChan
@wymam
@ttvast
@gwbw

多谢各位。和 DNS 以及 DHCP 的配置都没关系哈,我跟移动反馈后,经过昨天下午和今天测试,目前看已经修复。
JConlee
91 天前
@ttvast 猜测:对于 iPhone 来说,它只是发了一个包,然后没有收到任何回应(既没有收到预期的 ACK 确认,也没有收到 RST 错误)。在正常的网络活动中,TCP 协议栈在几次重试失败后,会很快判定连接超时并关闭连接。但是,iPhone 在熄屏状态下,一切行为都以“省电”为最高优先级。为了省电,操作系统会大幅延长 TCP 的 RTO 。它不会像亮屏时那样,在几百毫秒或几秒后就积极重试,而是可能会等待几十秒甚至数分钟才进行下一次尝试。并且,系统不会轻易地因为几次 Keep-Alive 失败就判定连接“死亡”。因为它需要平衡“维持连接”和“节省电量”这两个目标。频繁地断开重连会消耗大量电量。因此,系统宁愿“相信”连接只是暂时网络抖动,而不是真的断了。
hideonwhere
91 天前
以前我用联通的时候也是,手机待机就是失联,直接弃用苹果和联通了。坐标深圳
alan9999
63 天前
@Rhianu 移动有反馈是什么原因吗
Rhianu
63 天前
@alan9999 到最后都没有具体原因,只是他们知道有这种情况的发生。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1139360

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX