写点什么

WebRTC vs. Zoom 之外:WebRTC 的弱网模拟测试(二)

  • 2019-11-30
  • 本文字数:1205 字

    阅读完需:约 4 分钟

WebRTC vs. Zoom 之外:WebRTC 的弱网模拟测试(二)

TC 的使用方法


做弱网测试基本是按照以下四个步骤:


  1. 设备连接 Wi-Fi 热点成功获取 IP 地址,假设为:192.168.3.101。

  2. 打开 Linux terminal,输入 TC 命令为发送端 IP 为 192.168.3.101 的设备添加网损。

  3. 此时手机即在弱网环境下运行。

  4. 测试完成后,输入 TC 命令取消弱网。


例如,你要是想限制 IP 地址为 192.168.3.101 的设备上行丢包 5%,那么需要运行如下命令:


1sudo tc qdisc add dev ifb0 root handle 1: prio bands 32sudo tc qdisc add dev eth1 ingress3sudo tc filter add dev eth1 parent ffff: protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb04sudo tc qdisc add dev ifb0 parent 1:3 handle 30: netem loss 5 limit 10005sudo tc filter add dev ifb0 protocol ip parent 1:0 prio 3 u32 match ip src 192.168.3.101 flowid 1:3
复制代码


如果想要限制 IP 地址为 192.168.3.101 的设备下行丢包 20%,需要运行如下命令:


1sudo tc qdisc add dev eth1 root handle 1: prio bands 32sudo tc qdisc add dev eth1 parent 1:3 handle 30: netem loss 20 limit 10003sudo tc filter add dev eth1 protocol ip parent 1:0 prio 3 u32 match ip dst 192.168.3.101 flowid 1:3
复制代码


可以说 TC 框架可以实现很多场景,但前提是需要开发者们学会使用 TC 命令行。如果你想了解更多的 TC 命令,可以学习一下官方文档[4]。

Augmented Traffic Control(ATC)

ATC 其实是 Facebook 在 2015 年开源的一套网络测试工具。ATC 是基于 TC 的封装。


在部署好 ATC 弱网控制机后,在手机上通过 Web 界面就可以随时切换不同的网络环境。多个手机可以连接到同一个 Wi-Fi ,复用同一台弱网控制机,且多设备之间模拟的网络环境互不影响。也就是说,部署好这个测试工具后,团队里的任何人都可以通过 Web 自行测试,且互不干扰。


ATC 的部署方法相对复杂,但只要根据官方文档[5],就可以顺利完成搭建。按照官方文档完成搭建之后,大家还需要通过以下几行命令配置 HOST 地址,然后就可以启动运行了。


打开 Setting:


1vi atcui/atcui/settings
复制代码


添加 HOST 地址 :


1ALLOWED_HOSTS = ['*']
复制代码


启动命令:


1atcd --atcd-wan eth0 --atcd-lan eth1
复制代码


使用方法


  1. 设备接入对应 Wi-Fi

  2. 打开 http://192.168.3.1:8000 (假设 eth1 IP 地址为:192.168.3.1)

  3. 输入对应弱网参数后,点击按钮 [Update Shaping] 生效,该弱网仅对本机生效



测试完成后,点击按钮 [Turn Off] 清除弱网设置。


Network Link Conditioner(NLC)

可能有些 iOS 开发者已经认出来了。NLC 是苹果官方提供的网络模拟工具,支持安装在 macOS 和 iOS 上。

macOS 端安装

  • 打开 Xcode,选择 Xcode -> Open Developer Tool -> More Develop Tools。



  • 用苹果账号登录网站,搜索 Additional Tools for Xcode,下载 Xcode 对应版本的 Additional Tools。



  • 打开下载的文件,在 Hardware 文件夹中双击 Network Link Conditioner 安装。 安装完成后,工具会在系统设置中的最后一排出现。



2019-11-30 22:311685

评论

发布
暂无评论
发现更多内容

Android原生开发如何深入进阶,解析底层原理

android 程序员 移动开发

Android大厂技术面试题汇总,享学课堂Android架构师

android 程序员 移动开发

Android工程师跳槽经验分享,资深大牛带你了解源码

android 程序员 移动开发

Android学习笔记在互联网上火了,系列教学

android 程序员 移动开发

Android学习路线!扔物线朱凯android视频

android 程序员 移动开发

Android事件体系全面总结+实践分析,爆火的Android面试题

android 程序员 移动开发

Android体系化进阶学习图谱,扔物线五期

android 程序员 移动开发

云计算服务包括哪三种服务?怎么定义?

行云管家

云计算 网络安全 云资源 云管理

Android初级开发是如何一步步成为高级开发,含答案解析

android 程序员 移动开发

Android培训那里好,享学课堂Android架构师vip

android 程序员 移动开发

Android大厂面试真题解析大全,flutter框架

android 程序员 移动开发

Android实习面试经验汇总,温故而知新

android 程序员 移动开发

Android岗面试12家大厂成功跳槽,这操作真香

android 程序员 移动开发

Android中高级岗面试为何越来越难,细节决定成败

android 程序员 移动开发

android双击事件响应,动脑学院vip视频破解

android 程序员 移动开发

Android多态实现原理,android开发艺术探索pdf百度网盘

android 程序员 移动开发

Android大厂高级面试题灵魂100问,Android经典面试

android 程序员 移动开发

Android工作经验6年,动脑学院vip课程分享

android 程序员 移动开发

Android工程师最容易遇到4个瓶颈是什么,安卓开发入门教程

android 程序员 移动开发

Android外包是如何转正网易的,Android高级工程师面试实战

android 程序员 移动开发

Android大厂面试真题解析大全,10年Android开发经验

android 程序员 移动开发

web技术分享| React版本 anyRTC示例对等连接

anyRTC开发者

大前端 音视频 WebRTC React 实时通信

Android客户端Web页面通用性能优化实践,面试心得体会

android 程序员 移动开发

Android岗,享学课堂架构师vip

android 程序员 移动开发

云管平台的作用以及应用行业简单介绍

行云管家

云计算 云服务 云平台 混合云 云管平台

Android免打包多渠道统计如何实现,面试突击版

android 程序员 移动开发

BAT面试Java岗经验汇总:面试重点+精选面试120题+6条面试经验!

Java 程序员 面试

Android基础入门教程,享学课堂Android架构师vip

android 程序员 移动开发

Android外包是如何转正华为的,音视频开发面试

android 程序员 移动开发

Android之内存泄漏调试学习与总结,面试总结

android 程序员 移动开发

Python代码阅读(第45篇):柯里化

Felix

Python 编程 Code Programing 阅读代码

WebRTC vs. Zoom 之外:WebRTC 的弱网模拟测试(二)_服务革新_RTE开发者社区_InfoQ精选文章