我使用UDP协议从客户端到服务器的数据传输。所以我采用的方法是,数据速率=数据包大小*数据包速率。举个例子,我要传输5个数据包,所以我的问题是:
数据包速率应该是5个数据包除以到达的数据包总数。所以这里的总时间是指第一个数据包到达服务器发送到第5个数据包。
我的计算是数据包速率= 5/第5个数据包到达服务器的时间-第1个数据包到达服务器的时间)我正在获取每个数据包到达服务器时的时间戳。
我不确定这是否是找到包速率的正确方法。因为我混淆了其他时间因素,如传输时间,延迟。
我希望有人能帮助我理解这一点。
作为参考这是我在服务器
上的输出第一个数据包到达SEC 1634716276.0的时间
sec1634716351.0的第二个数据包到达时间
3rdpacket到达SEC的时间
sec1634716501.0中第4个数据包到达时间
sec1634716576.0中第5个数据包到达时间
数据速率是单位时间的数据量,所以你需要找到发送的数据总量,并除以发送所花费的时间。
total_time = time_of_last_packet - time_of_first_packet
total_data = size_of_packet_1 + size_of_packet_2 + size_of_packet_3 ...
data_rate = total_data / total_time
如果以秒为单位测量total_time
,以字节为单位测量total_data
,则将它们相除得到字节/秒,这正是数据速率。