首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏【腾讯云开发者】

    弱网不弱-TQUIC助力业务提速30%

    为了快速把QUIC协议落地,给业务提升网络性能,我们选择了开源的Chromium cronet网络协议栈作为基础。 ,例如在安卓平台上,cronet动态库的体积接近3MB,这对于一些体积敏感的应用是一个巨大的挑战。 实际接入使用时,Cronet的易用性依然不够好。 在Cronet中,要想使用QUIC协议,应用层传输的报文必须是HTTP,也就是所谓的HTTP3协议。 我们以Google cronet为例,在iOS下使用Cronet进行了一次切网尝试,通过抓包发现网络切换后,quic其实进行了重新握手,并没有如预期内的进行连接迁移。

    2.2K30发布于 2021-12-01
  • 来自专栏腾讯技术工程官方号的专栏

    提速 30%!腾讯TQUIC 网络传输协议

    为了快速把 QUIC 协议落地,给业务提升网络性能,我们选择了开源的 Chromium cronet 网络协议栈作为基础。 ,还增大了整个库的体积,例如在安卓平台上,cronet 动态库的体积接近 3MB,这对于一些体积敏感的应用是一个巨大的挑战。 实际接入使用时,Cronet 的易用性依然不够好。 在 Cronet 中,要想使用 QUIC 协议,应用层传输的报文必须是 HTTP,也就是所谓的 HTTP3 协议。 我们以 Google cronet 为例,在 iOS 下使用 Cronet 进行了一次切网尝试,通过抓包发现网络切换后,quic 其实进行了重新握手,并没有如预期内的进行连接迁移。

    4.6K52发布于 2021-12-01
  • 来自专栏腾讯Bugly的专栏

    QUIC协议初探-iOS实践

    ^^ (3)Cronet库 Google Chrome提供了一个网络模块Cronet SDK,封装了Chromium net,提供了Java接口和OC接口。 编译Cronet库是很方便的,而且Google有专门提供文档,Checking out and building Cronet for Android(https://chromium.googlesource.com 首先要将cr_cronet.py link到你的当前目录下,比如src目录下。这样用起来会比较方便,当然你也可以忽略这一步,每次都用cr_cronet.py的完整路径。。。 ~/chromium/src $ ln -s components/cronet/tools/cr_cronet.py somewhere/in/your/path 然后创建编译文件夹: ~/chromium /src $ python cr_cronet.py gn 之后就可以开始编译了 ~/chromium/src $ cr_cronet.py build -d out/Debug-iphonesimulator

    6.3K61发布于 2018-03-23
  • 来自专栏携程技术

    干货 | Trip.com APP QUIC应用和优化实践

    三、应用和优化实践 引入QUIC过程中最大的难点就是Cronet库体积过大,需要经过裁剪后才能在APP中使用。 3.1 Cronet代码裁剪 业内有很多客户端QUIC的实现方案,Cronet是最成熟的,但是5M的size让很多APP望而却步,所以我们做的第一件事就是对Cronet进行裁剪。 等必须的核心功能,将Cronet库size减少60%以上。 Cronet对DNS解析做了很多优化,UDP请求,TCP补偿,支持Https解析以防止DNS拦截等,但这是浏览器需要的通用方案。 2)修改Cronet QuicSessionKey的重载方法,将指定的IP+Host做为Session Key以支持单域名多IP链接。

    1.6K50编辑于 2022-04-24
  • 来自专栏音视频技术

    HTTP/3落地Pinterest

    客户端: Web在可兼容的浏览器和流量上直接受益于HTTP/3; iOS——图像/API流量目前由Cronet和HTTP/3共同提供。目前,70%的iOS图像流量经由HTTP/3传递。 Android Video性能通过Exoplayer+Cronet使用HTTP/3。 展示 我们的分析表明,HTTP/3(和Cronet)切实改进了各项核心网络指标(往返延迟与可靠性)。 视频指标 视频GVV(视频良好观看率)细分(iOS:苹果网络+HTTP/3): 视频GVV细分(Android:Exoplayer + Cronet + HTTP/3): 图二:HTTP3对视频启动延迟的直接影响 网络请求的往返延迟,蓝色为使用HTTP/3前,红色为使用后 备注: (1)测量的是从客户端测量,即从请求发出到收到响应的时间; (2)苹果原生网络(HTTP/2)指标的来源为2022年第三季度某一周内的网络日志;Cronet

    1.1K30编辑于 2023-04-04
  • 来自专栏即时通讯技术

    百度APP移动端网络深度优化实践分享(二):网络连接优化篇

    HTTPS,百度App使用ALPN来协商HTTP/2; 4)SOCKS连接池管理的SOCKSSocket和SOCKS5Socket都需要依赖TCP连接池提供的TCPSocket,虽然SOCKS5支持UDP,但cronet 我们的中心思想是以系统网络库的API调用接口为中心,上层建立网络门面,供外部便捷调用,底层通过系统机制以AOP的方式将cronet(chromium的net模块)注入进系统网路库,达到双端网络架构统一, 订制方面利用URL Stream Protocol机制将HttpURLConnection底层网络协议栈接管为cronet,供各个业务和基础模块使用,连接优化的所有内容在cronet网络库内部实现。 ▲ 连接优化在iOS网络架构的位置 百度App的iOS网络流量目前都在cronet之上,上层我们使用iOS的URL Loading System机制将cronet stack注入进URLSession里 在cronet内部实现了预连接(主要针对百度App的几个核心域名进行预连和保活),连接重建(针对所有请求),备用连接(针对所有请求),复合连接(iOS上暂时没有开启),Session Resumption

    86520发布于 2019-05-09
  • 来自专栏Android技术分享

    面试官又双叒叕“突袭”:如何优化一个网络请求?Android网络多个优化方案帮你解决

    Cronet是Chromium网络引擎对不同操作系统做的封装,实现了移动端应用层、表示层、会话层协议,支持HTTP1/2、SPDY、QUIC、WebSocket、FTP、DNS、TLS等协议标准。 字节用的就是Chrome的cronet网络库(顺便展开下,cronet同时支持ios,android,前端)。 但是正常的网络框架基本都使用了Retrofit+Okhttp,而且大家都已经使用的很习惯了,所以我大胆的猜测,字节其实应该用OkHttp桥接了cronet。 这也意味着QUIC开始了它的标准化过程,成为新一代传输层协议 其实整个QUIC协议(Http3.0协议)本来就是谷歌写的,所以谷歌的Cronet本身就支持这也是正常的。

    2K30发布于 2020-12-10
  • 来自专栏逮虾户

    Android网络优化方案

    Cronet是Chromium网络引擎对不同操作系统做的封装,实现了移动端应用层、表示层、会话层协议,支持HTTP1/2、SPDY、QUIC、WebSocket、FTP、DNS、TLS等协议标准。 字节用的就是Chrome的cronet网络库(顺便展开下,cronet同时支持ios,android,前端)。 但是正常的网络框架基本都使用了Retrofit+Okhttp,而且大家都已经使用的很习惯了,所以我大胆的猜测,字节其实应该用OkHttp桥接了cronet。 这也意味着QUIC开始了它的标准化过程,成为新一代传输层协议 其实整个QUIC协议(Http3.0协议)本来就是谷歌写的,所以谷歌的Cronet本身就支持这也是正常的。

    1.4K20发布于 2020-11-19
  • 来自专栏小白技术社

    短视频最新版通用quic协议解决方案

    排名第二的短视频app 该app使用quic协议比较早,之前由于不同版本混淆,导致hook代码要更新,后来通过看了一部分Cronet网络库的资料,找到该通用型的解决方案,该app的加载的so是libconnectionbase.so

    1.9K70发布于 2021-08-06
  • 来自专栏即时通讯技术

    百度APP移动端网络深度优化实践分享(二):网络连接优化篇

    HTTPS,百度App使用ALPN来协商HTTP/2; 4)SOCKS连接池管理的SOCKSSocket和SOCKS5Socket都需要依赖TCP连接池提供的TCPSocket,虽然SOCKS5支持UDP,但cronet 我们的中心思想是以系统网络库的API调用接口为中心,上层建立网络门面,供外部便捷调用,底层通过系统机制以AOP的方式将cronet(chromium的net模块)注入进系统网路库,达到双端网络架构统一, 订制方面利用URL Stream Protocol机制将HttpURLConnection底层网络协议栈接管为cronet,供各个业务和基础模块使用,连接优化的所有内容在cronet网络库内部实现。 7.2 连接优化在iOS网络架构的位置及实践 ▲ 连接优化在iOS网络架构的位置 百度App的iOS网络流量目前都在cronet之上,上层我们使用iOS的URL Loading System机制将cronetcronet内部实现了预连接(主要针对百度App的几个核心域名进行预连和保活),连接重建(针对所有请求),备用连接(针对所有请求),复合连接(iOS上暂时没有开启),Session Resumption

    1.5K20发布于 2019-04-24
  • 来自专栏深度学习与python

    Flutter 3.3发布,带来新的预览版渲染引擎

    第二个是用于 Android 的 cronet_http,它建立在流行的 Cronet 库之上。

    1.9K30编辑于 2023-03-29
  • 来自专栏音视频技术

    QUIC助力Snapchat提升用户体验

    02 — QUIC在Snapchat的应用 Snapchat的客户端网络堆栈建立在开源移动网络库Cronet之上。 Snap之所以使用Cronet,是因为它不仅支持QUIC,还可以通过丰富的指标和日志提升可观察性。使我们能够更加全面地观测客户端和服务端网络性能。

    75720发布于 2021-09-01
  • 来自专栏QAPM-腾讯客户端性能分析

    【腾讯经验】闪现社区App网络优化

    二、 统一的Quic请求策略 + 降级策略 Google的Cronet网络库,在初始化的时候需要传入一系列QuicHint(Host和Port的组合)来表明哪些Host支持Quic请求,在底层进行网络请求的时候根据 Url的Host是否命中预设的QuicHint,如果有命中便优先进行Quic协议的请求,但不会保证一定会走到Quic,因为Cronet内部会有一套竞速策略来抉择最后的请求是Http还是Quic。

    2.9K72发布于 2021-02-24
  • 来自专栏【腾讯云开发者】

    会中切换网络总掉线?腾讯会议用这种方案让你好好开会

    我们考察了业内比较完善的 quic 组件方案,详见图 6: 图 6 QUIC 方案选型 *注:cronet 仅暴露应用层 http 接口,无法满足传输层接口封装需求。 但是 tquic 基于 goolge 的 cronet 库实现,google 只实现了 android 端的连接迁移, 而腾讯会议的网络层是跨平台的设计。 该技术方案如图 8 所示: 图 8 cronet里实现的连接迁移 其中实现了对 android 平台的物理网络监听。

    2.4K30编辑于 2023-04-26
  • 来自专栏即时通讯技术

    百度APP移动端网络深度优化实践分享(一):DNS优化篇

    ▲ HTTPDNS在Android网络架构的位置 HTTPDNS在iOS网络架构的位置及实践: 百度App的iOS网络流量都在cronet(chromium的net模块)之上,上层我们使用AOP的方式将 cronet stack注入进URLSession里,这样我们就可以直接使用URLSession的API进行网络的操作而且更易于系统维护。 在上层封装了网络门面,供各个业务和基础模块使用,在cronet内部我们修改了DNS模块,除了原有的系统DNS逻辑外,还添加了HTTPDNS的逻辑。 iOS上还有一部分流量是在原生URLSession上,主要是有些第三方业务没有使用cronet但还想单独使用HTTPDNS的能力,所以就有了下面的HTTPDNS封装层,方法是在上层直接将域名替换成IP,

    4.1K10发布于 2019-04-22
  • 来自专栏Python分享

    抖音关键词热度搜索小程序(附源码)

    User-Agent": "com.ss.android.ugc.aweme/350 (Linux; U; Android 8.0.0; zh_CN; MI 5; Build/OPR1.170623.032; Cronet

    3.3K20发布于 2020-09-15
  • 来自专栏腾讯技术工程官方号的专栏

    STGW 下一代互联网标准传输协议QUIC大规模运营之路

    客户端方面,由于 Google 将其浏览器以 Chromium 项目开源出来,其网络协议栈 Cronet 成为业界 QUIC 客户端的主要参考对象。 但 Cronet 因为 API 支持有限,代码复杂,难以满足个性化需求等,不适合直接用在我们的移动客户端上。 TQUIC SDK 相比 Cronet,有体积更加轻量,简单易用,支持私有协议,连接迁移等诸多优点。目前,TQUIC SDK 已应用于公司内部多个业务之中。

    4.6K83发布于 2021-02-02
  • 来自专栏码上就说

    音视频全链路技能分析之音视频消费侧技能树

    native层的网络库选择可以考虑一下cronet,但是cronet是单线程的,效率肯定要逊色一些。

    1.9K30发布于 2020-12-11
  • 来自专栏程序员小跃

    Dimple在左耳听风ARTS打卡(十五)

    既然要实现高性能,那我会非常关注速度,CPU,内存,I/O使用,以及失败率、崩溃率、协议的兼容性等方面 高质量网络库 业内的蘑菇街、头条、UC浏览器都在Chromium网络库(Cronet)上做了二次开发

    61220发布于 2019-12-27
  • 来自专栏携程技术

    干货 | 降低20%链路耗时,Trip.com APP QUIC应用和优化实践

    ,便可保持连接不断 安全性 Header明文传输 除了一些必要字段,Header也是加密的 三、QUIC服务端落地实践 QUIC的落地需要客户端与服务端的共同支持,客户端我们使用了Google的开源Cronet

    1.7K10编辑于 2022-04-15
领券