我想知道是否有一种编程方式来测量通过 TCP 流发送数据时使用的全部带宽。由于我似乎不知道网络堆栈如何将流分成数据包,或者它何时发送 TCP SYN 或 ACK 或它在后台为您所做的许多事情,所以我只能对此进行粗略估计。
我能想到的唯一解决方案是实际嗅探接口,但我想认为堆栈已经可以为我收集这些统计信息。
这是在 Windows 或 Linux 下的 Java 中运行的(当然,首选可移植的解决方案),但我可以 JNI 化 C/C++ 答案,这样(和 OS API 调用)也是一个很好的答案。谢谢!