【问题标题】:How do I measure ping?如何测量 ping?
【发布时间】:2015-02-04 19:35:44
【问题描述】:

我知道如何计算 ping - 当前时间减去数据包的时间戳 - 但我如何首先创建时间戳?我可以使用什么同步的时间概念?注意:我使用 .NET 2.0。

【问题讨论】:

    标签: networking latency


    【解决方案1】:

    这可能很简单,例如当您发出 ping 请求时(我稍后会更详细地解释这一点),记下当前时间,然后,当服务器/客户端以 pong 响应时,您再次记下时间。从 ping 时间中减去 pong 时间可以得到两个应用程序之间进行通信的时间。

    维基百科对 ping 的描述如下:

    在多人在线视频游戏中,MMO、MMORPG、MMOFPS 和 FPS ping(不要与每秒帧数混淆)是指玩家计算机(客户端)与游戏服务器或其他客户端(即同行)。这可以定量报告为以毫秒为单位的平均时间......游戏程序员通常不会使用传统的 ICMP 回显请求和回复数据包来确定 ping 时间,而是将自己的延迟检测构建到现有的游戏数据包中

    我喜欢做的是,当我创建一个客户端和一个服务器时,我总是写一个简单的“ping/pong”命令。简而言之,一个应用程序发出一个 ping 请求,当另一个应用程序收到它时,它会发回一个 pong 确认命令。这对调试很有用,但对于实际开发和取决于游戏,我通常使用heart beat 来搭载它,以确保一切正常运行。希望对您有所帮助!

    【讨论】:

    • 感谢您的回答!我不太确定的一件事是乒乓球时间是多少。
    • 这读起来很有趣:numion.com/faq/ping.htmlPing 是往返时间(你告诉远程应用程序给你发回一些东西,然后你等待响应。)。相比之下,“纯延迟测量”测量单向延迟。
    • 这是a good answer 如何进行延迟测量
    猜你喜欢
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    相关资源
    最近更新 更多