V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
veSir
V2EX  ›  iPhone

iPhone 推送通知延迟,这种情况出现在只连接 WIFI 的情况下。

  •  
  •   veSir · 72 天前 · 1133 次点击
    这是一个创建于 72 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在贴吧有看到有人把宽带 IP 改成公网 IP 就解决了,原因是内网 IP 会 NAT 超时,手机如果一段时间没有网络活动上级网关就会断开、导致 TCP 长连接无法持续连接.

    我自己在 OpenWRT 查看实时连接貌似确实是这样,iPhone 一段时间没有网络活动 APNs 的 5223 端口就会断开,再次连上需要几分钟时间、5223 端口连上后还要等一两分钟才有通知提醒.
    27 条回复    2021-11-02 17:34:51 +08:00
    jiuhuicinv
        1
    jiuhuicinv  
       72 天前 via Android
    定时心跳 不让断开😄
    cwbsw
        2
    cwbsw  
       72 天前
    这个说法扯淡的吧。如果说运营商 NAT 网关会超时断开,那家庭路由器一样要 NAT 的啊。
    lafuerza
        3
    lafuerza  
       72 天前
    这么说的话,我账号里的 QQ 邮箱的推送一般会延迟一两个小时,不知道是不是跟这个有关系。
    veSir
        4
    veSir  
    OP
       72 天前
    @jiuhuicinv 还能这么玩😂
    veSir
        5
    veSir  
    OP
       72 天前
    @cwbsw 开始我也觉得扯淡,可是后来想想还是有点道理,毕竟在网上找的方法、和 apple 客服给的方法都试过无法解决。
    只有这个没办法验证,按照贴吧那人的说法、他就是把宽带改成公网 IP 之后推送通知就没有延迟.
    veSir
        6
    veSir  
    OP
       72 天前
    @lafuerza 一两个小时这也太恐怖了吧,我都是 APP 推送通知最长延迟 10 分钟左右.
    邮件推送我不清楚,没有使用。你试试使用蜂窝也会推送延迟吗.
    IvanLi127
        7
    IvanLi127  
       72 天前 via Android
    @cwbsw #2 我猜,运营商那么专业,“优化”一定很给力。
    lafuerza
        8
    lafuerza  
       72 天前
    @veSir 蜂窝推送没注意过,总之很多时候我收到 QQ 邮箱提示时发现,邮件已经是两个多小时之前发过来的。
    vocaloidchina
        9
    vocaloidchina  
       72 天前 via iPhone
    我这里国产软件几乎没有延迟 不过 tg 会延迟,很奇怪
    Aceycli
        10
    Aceycli  
       72 天前
    蜂窝推送延迟的问题存在两年了,连接 wifi 才有推送
    Love4Taylor
        11
    Love4Taylor  
       72 天前 via iPhone
    移动的超时时间大概在二十几分钟
    titanium98118
        12
    titanium98118  
       72 天前 via iPhone
    蜂窝网络也是运营商 nat
    solitude3985
        13
    solitude3985  
       72 天前
    @jiuhuicinv 终于可以当用户恶心一把运营商了,全端口扫描,心跳不停,都别想给我躺平!
    veSir
        14
    veSir  
    OP
       72 天前
    @lafuerza 你可以试试用蜂窝看看会不会延迟
    veSir
        15
    veSir  
    OP
       72 天前
    @vocaloidchina 我是除了系统 APP,商店下载的 APP 几乎都有推送通知延迟.
    veSir
        16
    veSir  
    OP
       72 天前
    @Aceycli 我是蜂窝没有延迟,连接 WIFI 才有延迟,你家宽带是公网 IP 吗.
    veSir
        17
    veSir  
    OP
       72 天前
    @Love4Taylor 我是联通的.
    veSir
        18
    veSir  
    OP
       72 天前
    @titanium98118 Google 了一下发现蜂窝也是运营商 NAT 得到的公网 IP,不过我这边蜂窝有 IPV6 的公网不知道和这个有没有关系.
    xfangs
        19
    xfangs  
       71 天前
    我家有联通公网 ip,但是放在家里的 ipad 接受通知,尤其是微信通知还是会有延迟,楼主在 openwrt 里怎么看的实时连接?我也想测试看看
    veSir
        20
    veSir  
    OP
       71 天前
    @xfangs 状态-实时信息-连接
    xfangs
        21
    xfangs  
       70 天前
    @veSir 感谢
    xfangs
        22
    xfangs  
       69 天前
    我测试了一下,发现我在路由器(openwrt)把开启的 Turbo ACC 关闭就会好很多,消息推送几乎没有延迟了。
    对我来说问题应该出在硬件 NAT 、BBR 、全锥形 NAT 这几个选项中,还没测出来究竟是哪个影响的,但是貌似关了对网速的影响也不是特别大。
    veSir
        23
    veSir  
    OP
       68 天前
    @xfangs 恭喜没通知没有延迟!
    Turbo ACC 这个开、关我都有试过都会延迟,只有连接 WiFi 的同时开启蜂窝才不会延迟,手机在使用的时候通知都会延迟😂
    flow 可以增加转发速度貌似和连接 apple 推送通知服务器没什么关系。
    BBR 提升 TCP 性能、刚好推送通知就是 TCP 连接,不知道这个有没有关系。
    FullCone-NAT 是 UDP 打洞的貌似也没关系。
    xfangs
        24
    xfangs  
       68 天前
    @veSir 可能是硬件 NAT 的问题,我的固件流量分载驱动是用的开源的,可能是开源实现还不太完美。
    我本来感觉这里好像也不应该有问题,但是看到网上有人说关闭硬件 nat 有效果,我就试了试,没想到真的起了作用
    veSir
        25
    veSir  
    OP
       67 天前
    @xfangs 话说,flow 不是 NAT 加速的嘛,你怎么还变成减速了,你是用的 flow 还是 SFE 。
    麻了,不知道是非公网 IP 的原因还是我硬件 NAT 效率不行的原因了.
    delpo
        26
    delpo  
       34 天前
    我这里的移动宽带也是这样,经常收不到消息,要等到下一次心跳包发现超时了才行,我自己抓包了一下,APNS 的心跳好像是 10 分钟一次.
    所以我就用 tg 机器人实现了一个自动刷新 nat 时间的 bot,用自己的 vps 搭一个 tg bot,每分钟向 iphone 上的 tg 发一条消息,就可以维持 apns 的连接.
    我自己对 tg 的通知没有要求,所以直接把 tg 的通知关了.这也是很神奇的一点,设置中通知关了,抓包里还是会收到 apns 的数据,只是不会跳出通知,但是在 tg 里把某个联系人静音了,他发消息就不会有 apns 的数据,我用的是最新系统
    veSir
        27
    veSir  
    OP
       34 天前
    @delpo 你使用 WiFi 时 把蜂窝也开着通知就不会延迟.
    或者你用 ipv6 与 APNs 通信 通知也不会延迟.
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3861 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:42 · PVG 17:42 · LAX 01:42 · JFK 04:42
    ♥ Do have faith in what you're doing.