1、为什么需要模拟客户端网络差的情况?

a. 研发环境的网络配置一般较高,网络响应快,不容易出现网络故障,但是客户使用的网络环境千差万别,不排除使用过程中遇到网络故障的情况。

b.程序有些时候是多线程处理一个任务,或者异步处理一个任务, 如果处理的过程中出现问题,需要回滚数据,避免给客户造成损失

2、clumsy怎么使用

clumsy 首先根据用户选择的 filter 来拦截指定的网络数据。在 filter 中可以设定你感兴趣的协议(tcp/udp),端口号,是接收还是发出的端口。你也可以通过简单的逻辑语句来进一步缩小范围。当 clumsy 被激活时,只有符合这些标准的网络数据会被进行处理,而你不感兴趣的数据仍然会由系统正常传输。
当被 filter 的网络数据包被拦截后,你可以选择 clumsy 提供的功能来有目的性的调整网络情况:
        1. 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。
      2. 掉包(Drop),随机丢弃一些数据。
        3. 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。
        4. 重发(Duplicate),随机复制一些数据并与其本身一同发送。
        5. 乱序(Out of order),打乱数据包发送的顺序。
        6. 篡改(Tamper),随机修改小部分的包裹内容。

转载于:https://www.cnblogs.com/test1988/p/7707807.html

clumsy模拟客户端网络差的场景的使用相关推荐

  1. 使用 clumsy 模拟极端网络状况

    clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现. 简介 利用封装 Winodws Filtering Platform 的WinDiver ...

  2. Cocos测试:局域网使用clumsy模拟广域网网络延迟

    cocos游戏完成后有一些模块在良好的网络条件下运行良好,但在网络延迟的情况下 有可能会崩溃或者报错. 我们可以有意的去模拟这种情况. 我们经过百度后发现clumsy这款软件可以达到这样的效果. 于是 ...

  3. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  4. 2.1.3 客户端网络连接对象

    2.1.3 客户端网络连接对象 客户端网络连接对象(NetworkClient )管理了客户端和服务端之间的 网络通信,包括连接的建立.发送客户端请求 . 读取客户端响应.回顾下2 . 1.2节中第 ...

  5. 使用Fiddler实现网络限速,模拟低速网络

    利用fiddler进行限速,达到模拟低速网络的状态 1.app端网路的多变性,会对用户使用app造成一定的影响,如用户进地铁/上进公交 /进电梯,这种情况都会造成网络不稳定,我们需测试app对2G/3 ...

  6. 使用java网络编程模拟简单网络即时通信

    使用java网络编程模拟简单网络即时通信 通信流程图: 解析: 1.在上图中我们可以看出对于任何一个客户端,都由两部分构成,发送端和接收端(分别由两个线程来维系) 2.客户端在每一次请求链接时都会轮询 ...

  7. 混沌工程之ChaosMesh使用之模拟POD网络延迟

    文章目录 前言 模拟 POD 网络延迟 目标 配置文件 执行 验证 恢复 留个思考题给你 前言 在这一篇中我们来看一下如何模拟 POD 网络故障. 模拟 POD 网络延迟 目标 指定 pod 产生 1 ...

  8. 任何网络都能山寨!新型黑盒对抗攻击可模拟未知网络进行攻击 | CVPR 2021

    来源:AI科技评论本文约3500字,建议阅读9分钟本文解读对抗攻击与元学习联姻的两篇典型的论文. 最近几年,元学习风生水起,这阵风也刮到了对抗攻击领域.本文解读对抗攻击与元学习联姻的两篇典型的论文(本 ...

  9. none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)

    本章开始讨论 Docker 网络. 我们会首先学习 Docker 提供的几种原生网络,以及如何创建自定义网络.然后探讨容器之间如何通信,以及容器与外界如何交互. Docker 网络从覆盖范围可分为单个 ...

最新文章

  1. CImage 是基于GDI+的,很老的一篇文章,我很久很久以前看到过的
  2. #1097 : 最小生成树一·Prim算法
  3. 前端学习(2366):条件编译跨端兼容
  4. *【牛客 1 - A】矩阵(字符串hash)
  5. Python中如何在一行里获取多个异常
  6. 背景图片-密度屏幕(移动端)
  7. 中考计算机考试exce,中考信息技术EXCEL操作.doc
  8. Atitit.数据检索与网络爬虫与数据采集的原理概论
  9. Hibernate validator 官网前言中文版
  10. 求解不定方程 (扩展欧几里得算法)
  11. 【深度】谈谈我对于5G的理解
  12. 问界M7开启交付 邹市明成精英车主
  13. 一页中关村 · 当百度碰见丧尸
  14. SFDC 日常经验积累
  15. sqldatasource oracle,asp.net – ORA-01036:非法变量名/号C#(SqlDataSource)Oracle 11g
  16. 天平游码读数例题_“天平”典型题析
  17. 动目标显示matlab仿真,动目标显示与脉冲多普勒雷达 (MATLAB程式设计)
  18. ​一文了解ICP备案
  19. 论文笔记_S2D.77_2013_TOR_使用RGBD相机的3D建图(RGBD SLAM V2)
  20. Meta Correction: Domain-aware Meta Loss Correction for Unsupervised Domain Adaptation in Semantic Se

热门文章

  1. Git 的介绍使用以及简单操作流程
  2. The Elder HDU - 5956
  3. uva10050-罢工
  4. 常用开源工具、框架收藏
  5. iOS之数组的排序(升序、降序及乱序)
  6. Shell编程——shell常用命令
  7. Android中的ContentValues用法
  8. 浏览器开发调试工具的秘密 - Secrets of the Browser Developer Tools
  9. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】...
  10. 万达与IBM联手发力公有云市场,为不让马云当首富王健林也是拼了