API | 描述 |
QUIC 主功能入口,包括创建 QuicCall 实例、QUIC 配置、获取版本号等。 | |
用来管理 QUIC 请求(发起请求、取消请求、获取状态) | |
请求信息封装 | |
请求响应结果封装 | |
请求回调接口 | |
QUIC网络状态信息 |
API | 描述 |
QUIC 配置信息构建 | |
获取 SDK 版本号 |
QuicCall newCall(QuicRequest request)
参数 | 描述 |
request |
String getVersion()
API | 描述 |
设置 QUIC 协议版本号 | |
设置拥塞算法 | |
设置连接超时时间 | |
设置请求总超时时间 | |
设置空闲连接超时时间 | |
是否支持 IPv6 | |
Builder setQuicVersion(int quicVersion)
参数 | 描述 |
quicVersion | 设置 QUIC 协议版本号
支持的版本:Q043、Q046、Q050、Q051、draft-29、RFC-V1(RFC 9000) 取值: QuicClient.QUIC_VERSION_Q43 (默认值) QuicClient.QUIC_VERSION_Q46 QuicClient.QUIC_VERSION_Q50 QuicClient.QUIC_VERSION_Q51 QuicClient.QUIC_VERSION_IETF_DRAFT_29 QuicClient.QUIC_VERSION_IETF_RFC_V1 |
Builder setCongestionType(int congestionType)
参数 | 描述 |
congestionType | 支持的拥塞算法(CubicBytes、RenoBytes、BBR、PCC、GCC) 取值: QuicClient.CONGESTION_TYPE_BBR (默认值) QuicClient.CONGESTION_TYPE_RENO_BYTES QuicClient.CONGESTION_TYPE_BBR QuicClient.CONGESTION_TYPE_PCC QuicClient.CONGESTION_TYPE_GCC |
Builder setConnectTimeoutMillis(int connectTimeoutMillis)
参数 | 描述 |
connectTimeoutMillis | 连接超时时间,单位:毫秒 默认值:60000 |
Builder setTotalTimeoutMillis(int totalTimeoutMillis)
参数 | 描述 |
totalTimeoutMillis | 请求总超时时间,单位:毫秒 默认值:0(不超时) |
Builder setIdleTimeoutMillis(int idleTimeoutMillis)
参数 | 描述 |
idleTimeoutMillis | 空闲连接超时时间,单位:毫秒 默认值:90000 |
Builder setSupportIpV6(boolean supportIpV6)
参数 | 描述 |
supportIpV6 | 是否支持 IPv6,可选 true 或 false 默认值:false |
QuicClient build()
API | 描述 |
异步发起 QUIC 网络请求 | |
取消请求 | |
void enqueue(QuicCallback callback)
参数 | 描述 |
callback |
void cancel()
QuicNetStats getQuicNetStats()
API | 描述 |
请求参数构建 |
Builder setUrl(String url)
参数 | 描述 |
url | 必填,请求 Url |
Builder setIp(String ip)
参数 | 描述 |
ip | 可选,如果不采用默认 DNS 解析,可以设置解析后的 ip 地址 |
Builder addHeader(String key, String value)
参数 | 描述 |
key | Header 中的 key |
value | Header 中的 value |
Builder get()
Builder post(RequestBody body)
参数 | 描述 |
body | body 数据 |
Builder method(String method, RequestBody body)
参数 | 描述 |
method | 请求方式,可选:Put、Delete、head、patch |
body | body 数据 |
QuicRequest build()
API | 描述 |
获取响应状态码 | |
获取响应 Header 信息 | |
获取 Content-Type | |
获取 Content-Length | |
获取响应 body |
int getCode()
List<String> getHeaders()
void setContentType(String contentType)
参数 | 描述 |
contentType | Header 中的 Content-Type 信息 |
void setContentLength(long contentLength)
参数 | 描述 |
contentLength | Header 中的 Content-Length 信息 |
ResponseBody body()
API | 描述 |
请求成功回调 | |
请求失败回调 |
void onResponse(QuicCall call, QuicResponse response) throws IOException
参数 | 描述 |
call | |
response |
void onFailed(QuicCall call, int errorCode, String errorMsg)
参数 | 描述 |
call | |
errorCode | 错误码 |
errorMsg | 错误信息 |
API | 描述 |
isValid | 状态值是否有效 |
isQuic | 是否 QUIC 请求 |
is0rtt | 是否为 0-RTT 连接 |
isConnReuse | 是否为连接复用 |
getConnectMs | 获取连接耗时,单位:毫秒 |
getDnsMs | 获取 dns 耗时,单位:毫秒 |
getDnsCode | 获取 dns 错误码 |
getTtfbMs | 获取首包耗时,单位:毫秒 |
getCompleteMs | 获取请求完成时间(不含连接耗时),单位:毫秒 |
getSrttMs | 获取滑动平均 rtt,单位:毫秒 |
getPacketsSent | 获取发包量,单位:byte |
getPacketsRetransmitted | 获取重传包量,单位:byte |
getBytesSent | 获取发送字节数,单位:byte |
getBytesRetransmitted | 获取重传字节数,单位:byte |
getPacketsLost | 获取丢包量,单位:byte |
getPacketsReceived | 获取收包量,单位:byte |
getBytesReceived | 获取收到字节数,单位:byte |
getStreamBytesReceived | 获取 stream 层收到的字节数,单位:byte |
本页内容是否解决了您的问题?