生成 RTT 值

发布于 2024-10-11 11:16:35 字数 150 浏览 1 评论 0原文

我正在编写一个 Java 小程序,我应该能够在其中模拟两个主机之间的连接。因此我必须随机生成数据包往返时间。

这些 RTT 可以从 ~0 到无穷大,但通常在某个平均值附近振荡(即极大或极小的值不太可能但有可能)。我想知道是否有人知道我该怎么做?

提前致谢

I'm writing a Java applet where I should be able to simulate a connection between two hosts. Hence I have to generate packet round-trip times at random.

These RTTs can go from ~0 to infinity, but are typically oscillating around some average value (i.e. an extremely large or small value is very improbable but possible). I was wondering if anyone had an idea of how I could do this?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

恏ㄋ傷疤忘ㄋ疼 2024-10-18 11:16:35

您必须选择一个合理的分布,从中提取(伪)随机值。 gamma 分布 可能有意义,因为它似乎满足您的要求。您还可以使用(左)截断正态分布

Java 的 Apache Commons-Math 库包含伽马分布和正态(又名高斯)分布的代码。当使用正态分布 RNG 从截断正态分布中选取值时,只需拒绝不需要的抽签(即,当您选取 x <= 0 时,再次选取)。

You're going to have to select a reasonable disribution from which to draw (pseudo) random values. A gamma distribuition might make some sense as it seems to satisfy your requirements. You could also use a (left) truncated normal distribution.

The Apache Commons-Math library for Java has code for the gamma and normal (aka Gaussian) distributions. When using a normal distribution RNG for picking values from a truncated normal distribution, simply reject undesired draws (i.e. when you pick x <= 0, pick again).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文