This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
这是一个功能完备的Android网络框架模块,基于Retrofit + OkHttp实现,提供HTTP请求、WebSocket长连接、智能DNS解析、网络防封禁等功能。
主要组件:
NetworkService: 核心网络服务实现类,统一管理所有网络功能INetworkService: 对外统一接口,集成HTTP、WebSocket、主机管理等能力INetworkConfig: 网络配置接口,提供各种配置参数和回调关键子系统:
多场景HTTP客户端: 针对不同使用场景提供专门优化的OkHttp客户端
protocolHttpClient: 业务协议请求,包含缓存、拦截器链imageHttpClient: 图片下载,优化连接超时webHttpClient: Web资源下载,支持Cookie管理和缓存fileHttpClient: 文件下载,长超时时间(5分钟)statHttpClient: 统计上报,简化拦截器dnsClient: DNS解析专用,短超时配置WebSocket长连接管理 (NetworkService:116-1191):
智能DNS解析系统 (dns/HttpsDns.kt):
网络防封禁系统 (ban/NetAntiBanManager.kt):
主机管理和容错 (host/HostManager.kt):
{ "msg": { "uri": "接口路径", "data": {...} }, "info": {...} }协议HTTP客户端拦截器链(按顺序):
HttpHostSelectInterceptor: 智能主机选择HttpCommonHeaderInterceptor: 通用请求头注入HttpProtocolStatInterceptor: 协议统计上报HttpLoggingInterceptor: 调试日志(仅Debug模式)CONNECT_TIMEOUT = 30s: 连接超时,考虑DNS解析IP重试IO_TIMEOUT = 20s: IO读写超时PING_INTERVAL = 20s: WebSocket心跳间隔RECONNECT_MAX_COUNT = 3: 最大重连次数NetAntiBanManagerTest.kt)外部依赖:
okhttp: 核心HTTP客户端retrofit: HTTP接口定义(compileOnly)conscrypt: SSL/TLS优化内部依赖:
frame:base: 基础框架(日志、回调等)frame:data: 数据结构和JSON处理frame:coroutine: 协程调度器frame:util: 通用工具类frame:statistics: 统计事件上报markHostError()ConcurrentHashMap保证线程安全ConcurrentHashMap等并发容器AppBase.debugLog控制preloadDomain()可在应用启动时预解析关键域名