美文网首页
TekiXquic 的使用

TekiXquic 的使用

作者: 笨鱼 | 来源:发表于2022-04-12 15:58 被阅读0次

简介

tekixquic 是基于 Xquic+libev 进行二次封装的Android sdk库,为了方便理解和使用,沿用了okhttp的封装方式模式,同时沿用了短链接和长链接的思维。通过get跟post接口可以快速的实现数据传输

sdk导入

第一步:引入maven 在allprojects中引入(目前是snapshot版本所有暂时需要)
maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots" }

第二步:导入sdk
implementation 'io.github.yangqingyuan:teki-quic:1.0.0.1-SNAPSHOT'

使用方式

Get 请求

      val xquicClient = XquicClient.Builder()
            .connectTimeOut(13)
            .ccType(CCType.BBR) //拥塞算法
            .build()
        val xRequest = XRequest.Builder()
            .url("https://192.168.10.245:8443")
            .addHeader("testA", "testA")// 可选,携带自定义头信息
            .get() //Default
            .build()

        val startTime = System.currentTimeMillis()
        xquicClient.newCall(xRequest).enqueue(object : XCallBack {
            override fun onFailure(call: XCall, exception: Exception) {
                XLogUtils.error(exception.message)
            }

            override fun onResponse(call: XCall, xResponse: XResponse) {
                XLogUtils.info(
                    " java 花费时间 ${(System.currentTimeMillis() - startTime)} ms,content=${xResponse.xResponseBody.getData()}"
                )
            }
        })

POST 请求

      val xquicClient = XquicClient.Builder()
            .connectTimeOut(13)
            .ccType(CCType.BBR) //拥塞算法
            .build()
            
        val xRequestBody =XRequestBody.create(XMediaType.parse(XMediaType.MEDIA_TYPE_TEXT), "test")
        val xRequest = XRequest.Builder()
            .url("https://192.168.10.245:8443")
            .addHeader("testA", "testA")// 可选,携带自定义头信息
            .post(xRequestBody)
            .build()

        val startTime = System.currentTimeMillis()
        xquicClient.newCall(xRequest).enqueue(object : XCallBack {
            override fun onFailure(call: XCall, exception: Exception) {
                XLogUtils.error(exception.message)
            }

            override fun onResponse(call: XCall, xResponse: XResponse) {
                XLogUtils.info(
                    " java 花费时间 ${(System.currentTimeMillis() - startTime)} ms,content=${xResponse.xResponseBody.getData()}"
                )
            }
        })

转载请标明来源

相关文章

  • TekiXquic 的使用

    简介 tekixquic[https://github.com/yangqingyuan/TekiXquic] 是...

  • TekiXquic 和quic-go 互通测试

    简介 tekixquic[https://github.com/yangqingyuan/TekiXquic]是基...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

  • this的使用

    1.默认绑定,就是函数立即执行。 函数立即执行就是指向window,但是如果是node环境,就是指向全局conso...

网友评论

      本文标题:TekiXquic 的使用

      本文链接:https://www.haomeiwen.com/subject/cyhnsrtx.html