Skip to content
阅读进度

如何理解网络请求在应用侧和系统侧分别经过哪些环节? ​

返回 Framework 与系统服务 目录

标准回答 ​

应用网络库建立请求,进行 DNS、连接、TLS 和协议通信,实际数据走 socket 与内核网络栈。ConnectivityService 维护默认网络、网络能力和选择策略,netd 等组件参与路由、DNS 和网络规则等管理,但不是每个 HTTP 数据包都通过 Java 系统服务转发。请求失败时,我会分开检查默认网络与验证状态、DNS、路由、TLS 证书、代理、超时和服务端响应。设备连着 Wi-Fi 只代表建立了链路,不保证互联网可用。

延伸追问 ​

对热点、VPN、多网络并发等场景还要确认请求使用的是哪个 Network,以及该网络是否能到达目标地址。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。