源码属性:
授权方式:开源 源码大小:16.88MB 源码语言:C 运行环境 C源码语言:
功能介绍:
clumsy能在Windows平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。
简介: 利用封装Winodws Filtering Platform的WinDivert库, clumsy能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用 程序在不良网络状况下的表现,clumsy都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果:
特色: 1、下载即用,不需要安装任何东西。 2、不需要额外设置,不需要修改你的程序的代码。 3、系统级别的网络控制,可以适用于命令行,图形界面等任何Windows应用程序。 4、不仅仅只支持HTTP,任何TCP, UDP的网络连接都可以被处理。 5、支持本地调试(服务器和客户端都在localhost) 6、"热插拔",你的程序可以一直运行,而clumsy可以随时开启和关闭。 7、实时调节各种参数,详细控制网络情况。
clumsy 首先根据用户选择的filter来拦截指定的网络数据。在filter中可以设定你感兴趣的协议(tcp/udp),端口号,是接收还是发出的端口。你也可以通过简单的逻辑语句来进一步缩小范围。当clumsy被激活时,只有符合这些标准的网络数据会被进行处理,而你不感兴趣的数据仍然会由系统正常传输。 当被filter的网络数据包被拦截后,你可以选择clumsy提供的功能来有目的性的调整网络情况: 1、延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。 2、掉包(Drop),随机丢弃一些数据。 3、节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。 4、重发(Duplicate),随机复制一些数据并与其本身一同发送。 5、乱序(Out of order),打乱数据包发送的顺序。 6、篡改(Tamper),随机修改小部分的包裹内容。
尽管当前宽带网络连接十分普及,但网络传输其本身在本质上总不是稳定的。如果你的应用程序中没有应对各种情况的处理,那么有可能一个丢失的UDP包裹都会让你的程序崩溃。正确的调试这类行为,显然需要再代码结构上进行仔细的设计和处理,还会很花功夫。而且在某些封装紧密的开发环境(Unity3D自带的网络库可能是一个例子)下会更麻烦。clumsy以尽可能减轻程序员负担为目标,希望提供一个简单方便(但并不完美)的解决方案。
2、本站所有文章、图片、资源等如果未标明原创,均为收集自互联网公开资源;分享的图片、资源、视频等,出镜模特均为成年女性正常写真内容,版权归原作者所有,仅作为个人学习、研究以及欣赏!如有涉及下载请24小时内删除;
3、如果您发现本站上有侵犯您的权益的作品,请与我们取得联系,我们会及时修改、删除并致以最深的歉意。邮箱: i-hu#(#换@)foxmail.com