gpt4 book ai didi

Android 和 SO_KEEPALIVE - sleep 设备是否仍会发送 keepalive 段?

转载 作者:行者123 更新时间:2023-11-29 01:46:08 26 4
gpt4 key购买 nike

当屏幕关闭时,Android 设备通常会关闭 CPU 并进入深度休眠状态,除非某些应用程序持有唤醒锁。系统only wakes up在设备中断(例如来自网络的传入数据)或计划的警报触发时从该状态开始。这似乎与 CPU sleep 状态非常不同,在 CPU sleep 状态下,周期性定时器中断会定期唤醒 CPU。

这是否意味着所有网络事件/计时器也被暂停(例如 TCP 重传和保活),或者它们是否被内核注册为警报?

我想知道这是否会干扰套接字级保活的操作(通过 SO_KEEPALIVE 套接字选项)。此选项是否仍适用于 Android 设备,还是必须由更高层的应用程序处理?

最佳答案

似乎休眠的 Android 设备不会醒来传输 TCP keepalive 段。

我在 Nexus 5 上使用一个小型测试应用程序对此进行了测试,该应用程序将 TCP_KEEPIDLE 和 TCP_KEEPINTVL 设置为 5 秒并打开客户端套接字。在数据包跟踪中,keepalive 段在屏幕打开时清晰可见,但在屏幕关闭时停止。

关于Android 和 SO_KEEPALIVE - sleep 设备是否仍会发送 keepalive 段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com