计算连接速率(毫秒)(延迟)
本文关键字:延迟 连接 毫秒 计算 速率 | 更新日期: 2023-09-27 18:33:24
我正在尝试计算连接的客户端(服务器>客户端)的延迟,我想在我的ping循环期间执行此操作(它测试以查看客户端是否仍然连接)这是我如何ping它(尝试发送数据,如果它失败,客户端已断开连接)。
while (information.connectionEst)
{
try
{
byte[] data = Encoding.ASCII.GetBytes("");
stream.Write(data, 0, data.Length);
}
catch (Exception e)
{
killConnection();
thread.Abort();
}
}
我假设我需要计算发送数据包所花费的时间。但我不知道该怎么做。任何帮助都会得到赞赏。
获取连接的单向延迟(服务器→客户端)非常困难。如果您知道连接的每一端都有非常准确的时间(例如,GPS 或原子钟或非常接近该时间的高质量 NTP 同步时钟)并且每端运行的软件都专用于该任务,则可以这样做。
否则,您能做的最好的事情就是计算两个方向(RTT,往返时间)的延迟,除以 2,并希望连接是数据包的路径是对称的。如果数据包的路径不对称,则数据包在一个方向上传播的时间比另一个方向长,并且您无法先验地知道多长时间。
计算 RTT 是微不足道的:让第一端发送一条短消息,让另一端立即返回另一条消息。第一端从发送请求消息以获取 RTT 的时间中减去收到响应消息的时间。