美文网首页
通信层优化小结

通信层优化小结

作者: 蒙多喝醉了 | 来源:发表于2020-06-28 23:33 被阅读0次

通信测试最好使用2G测试,可以慢,但要能跑通,若出现“无法连接到网络”或者“网络连 接超时”的对话框,就是开发人员必须要解决的问题了。

  • 1、接口返回的大数据,要使用 gzip 进行压缩
注意:大于 1KB 才进行压缩, 否则得不偿失。经过 gzip 压缩后,返回的数据量大幅减少。
  • 2、ProtoBuffer协议是二进制格式的,所以在表示大数据时,空间比 JSON 小很多。
  • 3、减少网络访问次数,能调用一次取到数据的,就不要调用两次
  • 4、HTTP 协议的速 度远不如使用 TCP协议,因为后者是长连接。缺点是一台服务器能支持的长连接个数不多,所以需要更多的服务器集成。
  • 5、要建立取消网络请求的机制。页面跳转等情况,如果无需再进行请求的直接中断请求。过多的请求可能会使网络底层的请求队列已经被阻塞
无论是 iOS 还是Android,
都应该在基类(BaseViewController 或者 BaseActivity)中提 供一个 cancelRequest的方法,
用以在离开当前页面时清空网络请求队列。
  • 6、增加重试机制(post 请求是不建议有重试机制的)。
一般将获取数据 的请求接口都定义为 get;而把操作数据的请求接口都定义为 post。

可以为所有的 get 请求配置重试机制,比如 get 请求失败后重试 3 次。
post 下单接口是个 post 请求,如果请求失败那么就会重试 3 次,直到下单成功。
但是有时候 post 请求并没有失 败,而是超时了,超时时间是 30 秒,但是却 31 秒返回了,如果因此而重新发起下单请求, 那么就会连续下单两次。

所以 post 请求是不建议有重试机制的。
此外,对所有的 post 请求, 都要增加防止用户 1 分钟内频繁发起相同请求的机制,这样就能有效防止重复下单、重复发 表评论、重复注册等操作。

如果 post 请求具有防重机制,那么倒是可以增加重试机制。

需要服务器端灵活配置重试的次数,可以是 0 次,意味着不会重试。在 App 启动的时候,告诉 App 所有接口的重试次数。

相关文章

  • 通信层优化小结

    通信测试最好使用2G测试,可以慢,但要能跑通,若出现“无法连接到网络”或者“网络连 接超时”的对话框,就是开发人员...

  • mysql层次结构

    mysql大体结构 连接层,通过sock进行通信,提供api供客户端使用 sql层,解析,优化sql语句,选择最优...

  • MySQL三层结构

    连接层 通信协议处理、线程处理、账号认证、安全检查等 SQL层 权限判断(鉴权)、查询解析、优化器&缓存、查询执行...

  • HTTP,UDP,TCP协议

    HTTP协议: HTTP2.0 相比 HTTP 1.1做的优化: HTTP 1.1 在应用层以纯文本的形式进行通信...

  • 网络通信优化之通信协议:如何优化RPC网络通信?

    网络通信优化之通信协议:如何优化RPC网络通信? RPC 通信是大型服务框架的核心 我们经常讨论微服务,首要应该了...

  • Android中Hybrid实战

    目录 1、项目中Hybrid整体结构2、桥接层3、基础通信层4、打开离线插件的流程5、离线插件数据预加载优化 1、...

  • webpack构建性能优化策略小结

    webpack构建性能优化策略小结

  • 传输层服务与TCP、UDP协议

    传输层提供的服务 传输层的功能 从通信和信息处理的角度看 ,传输层向它上面的应用层提供通信服务,它属于面向通信部分...

  • 计算机网络-运输层

    计算机网络-运输层 运输层协议概述 进程间的通信 运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,...

  • APP开发实战56-层间通信

    15.3层间通信 15.3.1通信方式 层间通信主要有两种方式: (1) 消息 优点:层间的耦合性比较小,而且一个...

网友评论

      本文标题:通信层优化小结

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