tencent cloud

文档反馈

最后更新时间:2023-06-29 11:20:56

    API概览

    API
    描述
    QUIC 主功能入口,包括创建 QuicCall 实例、QUIC 配置、获取版本号等。
    QuicCall
    用来管理 QUIC 请求(发起请求、取消请求、获取状态)
    请求信息封装
    请求响应结果封装
    请求回调接口
    QUIC网络状态信息

    QuicClient

    QUIC 主功能入口,包括创建 QuicCall 实例、QUIC 配置、获取版本号等。
    API
    描述
    newCall
    创建 QuicCall 实例
    Builder
    QUIC 配置信息构建
    获取 SDK 版本号

    newCall

    创建 QUIC 请求,每次请求都需要调用此方法创建新的 QuicCall
    QuicCall newCall(QuicRequest request)
    参数
    描述
    request
    请求信息封装,可参考:QuicRequest

    
    getVersion
    

    获取 SDK 版本号,静态方法
    String getVersion()

    Builder

    QUIC 配置接口
    API
    描述
    设置 QUIC 协议版本号
    设置拥塞算法
    设置连接超时时间
    设置请求总超时时间
    设置空闲连接超时时间
    是否支持 IPv6
    build
    创建 QuicClient

    setQuicVersion

    设置使用的 QUIC 协议版本号
    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

    setCongestionType

    设置拥塞算法
    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

    setConnectTimeoutMillis

    设置连接超时时间
    Builder setConnectTimeoutMillis(int connectTimeoutMillis)
    参数
    描述
    connectTimeoutMillis
    连接超时时间,单位:毫秒
    默认值:60000

    setTotalTimeoutMillis

    设置请求总超时时间,包括数据流读写
    Builder setTotalTimeoutMillis(int totalTimeoutMillis)
    参数
    描述
    totalTimeoutMillis
    请求总超时时间,单位:毫秒
    默认值:0(不超时)

    setIdleTimeoutMillis

    设置空闲连接超时时间,主要用于连接复用参数调整,超时后连接关闭不能再复用
    Builder setIdleTimeoutMillis(int idleTimeoutMillis)
    参数
    描述
    idleTimeoutMillis
    空闲连接超时时间,单位:毫秒
    默认值:90000

    setSupportIpV6

    是否支持 IPv6
    Builder setSupportIpV6(boolean supportIpV6)
    参数
    描述
    supportIpV6
    是否支持 IPv6,可选 true 或 false
    默认值:false

    build

    创建 QuicClient
    QuicClient build()

    QuicCall

    用来管理 QUIC 请求(发起请求、取消请求、获取状态信息)
    API
    描述
    enqueue
    异步发起 QUIC 网络请求
    cancel
    取消请求
    获取 QUIC 网络状态信息,详见:QuicNetStats

    enqueue

    异步发起 QUIC 请求,请求加入到队列中,请求响应通过回调函数通知
    void enqueue(QuicCallback callback)
    参数
    描述
    callback
    请求响应结果回调函数,详见:QuicCallback

    cancel

    取消请求
    void cancel()

    getQuicNetStats

    获取 QUIC 网络状态信息
    QuicNetStats getQuicNetStats()

    QuicRequest

    请求参数
    API
    描述
    Builder
    请求参数构建

    Builder

    API
    描述
    setUrl
    设置请求 Url
    setIp
    设置请求 IP
    addHeader
    添加请求 Header 信息
    get
    设置为 Get 请求
    post
    设置为 Post 请求
    method
    其它请求类型参数设置
    build
    创建 QuicRequest 对象

    setUrl

    设置请求 Url
    Builder setUrl(String url)
    参数
    描述
    url
    必填,请求 Url

    setIp

    设置请求 IP 地址
    Builder setIp(String ip)
    参数
    描述
    ip
    可选,如果不采用默认 DNS 解析,可以设置解析后的 ip 地址

    addHeader

    添加请求 header 信息,key-value 形式
    Builder addHeader(String key, String value)
    参数
    描述
    key
    Header 中的 key
    value
    Header 中的 value

    get

    设置为 Get 请求
    Builder get()

    post

    设置为 Post 请求
    Builder post(RequestBody body)
    参数
    描述
    body
    body 数据

    method

    用于构建 Delete、Put 等请求
    Builder method(String method, RequestBody body)
    参数
    描述
    method
    请求方式,可选:Put、Delete、head、patch
    body
    body 数据

    build

    创建 QuicRequest
    QuicRequest build()

    QuicResponse

    请求响应信息
    API
    描述
    getCode
    获取响应状态码
    获取响应 Header 信息
    获取 Content-Type
    获取 Content-Length
    body
    获取响应 body

    getCode

    获取响应状态码
    int getCode()

    getHeaders

    获取响应的 Header 信息,以列表形式返回
    List<String> getHeaders()

    getContentType

    获取响应的内容类型
    void setContentType(String contentType)
    参数
    描述
    contentType
    Header 中的 Content-Type 信息

    getContentLength

    获取内容长度
    void setContentLength(long contentLength)
    参数
    描述
    contentLength
    Header 中的 Content-Length 信息

    body

    获取响应的 body 内容
    ResponseBody body()

    QuicCallback

    请求回调接口
    API
    描述
    请求成功回调
    onFailed
    请求失败回调

    onResponse

    请求正常响应时回调函数
    void onResponse(QuicCall call, QuicResponse response) throws IOException
    参数
    描述
    call
    用来管理 QUIC 请求,详见:QuicCall
    response
    QUIC 响应信息,详见:QuicResponse

    onFailed

    请求失败时的回调函数
    void onFailed(QuicCall call, int errorCode, String errorMsg)
    参数
    描述
    call
    用来管理 QUIC 请求,详见:QuicCall
    errorCode
    错误码
    errorMsg
    错误信息

    QuicNetStats

    可获取请求过程中的网络状态信息
    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
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持