如何使用c#计算带宽

2024-01-12

我想使用 C# 测量带宽。这是我所做的。欢迎提出意见和建议。

  1. 找到最大的udp负载(在我的测试台上,它是1472字节)
  2. 创建 1472 字节大小的不可压缩数据
  3. 将此数据从服务器多次发送到客户端(在我的测试中,其 5000 个数据包)
  4. 客户端在第一个数据包到达时启动秒表
  5. 当所有数据已发送后,向客户端发送通知,说明所有数据已发送
  6. 客户端停止秒表
  7. 我将带宽计算为(发送的总数据包(5000)* MTU(1500字节))/时间流逝
  8. 我注意到有些数据包丢失了。最好的,损失20%。最坏的情况下损失40%。我在计算带宽时没有考虑到这一点。我怀疑客户端网络设备遇到缓冲区溢出。我需要考虑这个因素吗?

如果大家有任何建议或意见,请随时提出。

Thanks.


为了计算带宽,我将使用 TCP 而不是 UDP。当您使用 UDP 时,所有数据报可能会通过您的网卡(以 100mbps)快速传出,并在链的“最慢链路”处排队(例如 512kbps 电缆调制解调器/路由器)。如果队列缓冲区已满,则数据报可能会被丢弃。所以你的测试不太可靠。

我会使用 TCP 并进行一些数学运算,将 tcp 速度 (KB/s) 转换为吞吐量 (Mbps)(我认为 TCP 开销约为 8%)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用c#计算带宽 的相关文章

  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • 为什么派生类不使用基类的operator=(赋值运算符)?

    以下是实际问题的简化版本 而不是打电话Base operator int 代码似乎生成了一个临时的Derived对象并复制它 既然函数签名似乎完美匹配 为什么不使用基本赋值运算符 这个简化的示例没有显示任何不良影响 但原始代码在析构函数中有
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 为什么假设 send 可能返回的数据少于在阻塞套接字上传输的请求数据?

    在流套接字上发送数据的标准方法始终是调用 send 并写入一大块数据 检查返回值以查看是否发送了所有数据 然后再次调用 send 直到整个消息被接受 例如 这是一个常见方案的简单示例 int send all int sock unsign
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • F10键没被抓住

    I have a Windows Form and there overriden ProcessCmdKey However this works with all of the F Keys except for F10 I am tr
  • 使用 IP 地址连接到另一台计算机

    我在计算机上安装了 NodeJS 并运行了一些测试 一切正常my机器 现在我想要一个不在同一网络中的朋友连接到我的计算机 以便 NodeJS 可以响应我朋友的请求 但我不知道 我必须在哪个IP和端口上监听 我也不知道 我必须给我的朋友哪个I
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

    我目前正在将使用 SMTP 的服务代码移植到 Office 365 通过 SMTP 我可以使用 发件人 字段在来自共享收件箱的邮件上设置不同的用户名 同时保留共享电子邮箱地址 这似乎无法通过 Office 365 运行 其工艺流程为 客户填
  • 在“using”语句中使用各种类型 (C#)

    自从C usingstatements只是try finally dispose 的语法糖 为什么它接受多个对象仅当它们属于同一类型时 我不明白 因为它们需要的只是 IDisposable 如果它们都实现 IDisposable 应该没问题
  • 不要声明只读可变引用类型 - 为什么不呢?

    我一直在阅读这个问题 https stackoverflow com questions 2274412 immutable readonly reference types fxcop violation do not declare r
  • 如何在 C# 中使用 XmlDsigC14NTransform 类

    我正在尝试使用规范化 xml 节点System Security Cryptography Xml XMLDsigC14nTransformC net Framework 2 0 的类 该实例需要三种不同的输入类型 NodeList Str
  • C# 中处理 SQL 死锁的模式?

    我正在用 C 编写一个访问 SQL Server 2005 数据库的应用程序 该应用程序是数据库密集型的 即使我尝试优化所有访问 设置适当的索引等 我预计迟早会遇到死锁 我知道为什么会发生数据库死锁 但我怀疑我能否在某个时候发布不发生死锁的
  • 理解 C++11 中的 std::atomic::compare_exchange_weak()

    bool compare exchange weak T expected T val compare exchange weak 是 C 11 中提供的比较交换原语之一 它是weak即使对象的值等于 它也会返回 falseexpected
  • 将 bignum 类型结构转换为人类可读字符串的有效方法是什么?

    我有一点问题 为了增长我的 C 知识 我决定尝试实现一个基本的 bigint 库 bigint 结构的核心将是一个 32 位整数数组 选择它们是因为它们适合寄存器 这将允许我在数字之间进行操作 这些操作将在 64 位整数中溢出 这也将适合寄
  • 展开路径中具有环境变量的文件名

    最好的扩张方式是什么 MyPath filename txt to home user filename txt or MyPath filename txt to c Documents and settings user filenam
  • 你能解释一下这个C++删除问题吗?

    我有以下代码 std string F WideString ws GetMyWideString std string ret StringUtils ConvertWideStringToUTF8 ws ret return ret W
  • c# 替代方案中 cfusion_encrypt 中填充的密钥是什么?

    我找到了从这里复制 C 中的 cfusion encrypt 函数的答案 ColdFusion cfusion encrypt 和 cfusion decrypt C 替代方案 https stackoverflow com questio

随机推荐

  • 如何阻止网站注册表中的一次性电子邮件地址? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道可能的阻止方法一次性电子邮件地址 http en wikipedia org wiki Dis
  • 是否可以对包含 url 编码的 url 进行 urlencode?

    我有一个网站 使用 Facebook Twitter 美味分享链接 它们包含您希望共享的网站的 url 编码 url 问题是我想通过 php 重定向页面发送 facebook twitter delicious url 在编码的 url 中
  • 在 VBA 中导入 UTF-8 文件

    我想在表中导入一个管道分隔文件 但该文件采用 UTF 8 格式 具有动态结构 我曾尝试使用 TransfertText 和 FSO 但只有 ADODB Stream 似乎可以很好地处理这种编码 但它只读取全文 如何每行读取这样的文件行以在现
  • 具有抽象方法的接口

    我遇到了一些由同事编写的 PHP 代码 它没有用于任何用途 基本上它是一个包含抽象方法的接口 然后我说这很愚蠢 并展示了坐在我旁边的另一位同事 我们笑了 但随后开始互相询问这是否可能 如果可能的话是否真的有用 显然这是不可能的 参见下面的示
  • module-info.java 不适用于 Java 9 中的 lombok

    我在将项目迁移到Java 9 更新 Java 9 后 我尝试运行项目 但遇到编译器错误 Error 6 1 java package javax annotation is not visible package javax annotat
  • 在 Windows 8 上安装 Docker 卷不起作用

    Context 我想在 Windows 8 上运行 Docker Compose 应用程序 我在 Ubuntu 16 04 下制作了它 它运行得很好 此 Docker Compose 运行 nginx php fpm 这两个容器使用卷 Fi
  • Git 预提交钩子配置

    我正在关注办公室指导 https pre commit com创建钩子并将其添加到预提交检查过程 我需要创建 3 个文件 pre commit config yaml pre commit hooks yaml theCheckFile s
  • ioexception:在java中写入文件时客户端不拥有所需的权限

    我搜索了很多类似的问题 但无法解决我的问题 我试图在文件中写入一些内容 这给了我错误 My code try File f new File file name f createNewFile System out println Hell
  • 无法使用 Sigma.js 显示任何图表

    我想在网络界面上可视化大型网络图 经过几天的搜索 我决定使用 Sigma js 因为它看起来很简单并且兼容 HTML5 问题是我无法显示 Sigma js 网页上的任何图形示例 即使我使用作者在 Sigma js 主页上拥有的最少代码也是如
  • write 和 printf 哪个更快?

    进行以下测试后 for i 0 i lt 3000000 i printf Test string n for i 0 i lt 3000000 i write STDOUT FILENO Test string n strlen Test
  • 如何创建带空格的列名?

    谁能告诉我如何创建带有 全名 这样的空格的列 我已经尝试过类似以下的操作 但它不起作用 CREATE TABLE info Full Names varchar 20 Physical Address varchar 20 Moviesre
  • GCMIntentService 的 onRegistered() 从未调用过

    我正在尝试在 GCM 上注册我的应用程序 但我不知道为什么我的应用程序从未注册 GCMRegistrar register this SENDER ID 被调用 但我的 GCMIntentService 中的 onRegistered 从未
  • R 中的滚动连接 data.table

    我试图更多地了解滚动连接的工作方式 但有些困惑 我希望有人能为我澄清这一点 举一个具体的例子 dt1 lt data table id rep 1 5 10 t 1 50 val1 1 50 key id t dt2 lt data tab
  • 如何使用 PHP 制作 cookie [重复]

    这个问题在这里已经有答案了 可能的重复 如何为uuid设置cookie https stackoverflow com questions 5750658 how to set cookies for uuid 你好 我想知道如何用PHP制
  • 如何在 Flask 中将数据写入文本文件? [复制]

    这个问题在这里已经有答案了 我们的目标是将名为 inputed email 的变量写入名为 test3 txt 的文本文件中 因为这是在服务器上进行的 所以我们需要确保该 Python 脚本可以访问该目录和文本文件 app route me
  • Haskell / GHC:{-# SPECIALIZE #-} 导致“规则左侧过于复杂,无法脱糖”警告

    我有一段代码 它使用 monad 来抽象实际实现是在 ST 还是 IO 中运行 由于内联和缺少类型类函数调用开销 删除额外的抽象层并仅替换具体类型会带来巨大的加速 约 4 5 倍 我正在考虑通过使用专门的编译指示来获得一些性能 但我从编译器
  • XDocument.保存到特定目录?

    我是第一次使用这个 XML 类 找不到这条信息 我正在做 xmlDoc new XDocument new XDeclaration 1 0 utf 8 yes xmlDoc Add new XElement Images xmlDoc S
  • Java 中 MySQL Insert 语句的性能:批处理模式准备语句与具有多个值的单个插入

    我正在设计一个MySQL该数据库每秒需要在各种 InnoDB 表中处理大约 600 行插入 我当前的实现使用非批处理准备好的语句 然而 写信给MySQL数据库瓶颈和我的队列大小随着时间的推移而增加 实现是用Java编写的 我不知道版本 它用
  • AngularJS 1.5 中内部组件之间传递函数的最佳方式是什么?

    我想知道通过 2 层或更多层组件传递功能的最佳方法是什么 使用 绑定时没有跳过函数换行的简单方法吗 这是一个用例 angular module app component app controller class AppController
  • 如何使用c#计算带宽

    我想使用 C 测量带宽 这是我所做的 欢迎提出意见和建议 找到最大的udp负载 在我的测试台上 它是1472字节 创建 1472 字节大小的不可压缩数据 将此数据从服务器多次发送到客户端 在我的测试中 其 5000 个数据包 客户端在第一个