如何测量 ping?

How do I measure ping?

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

它可以很简单,当你发出你的 ping 请求(我稍后会更详细地解释这个),你记下当前时间,然后,当 server/client 响应乒乓球,你记下时间了。从 ping 时间减去 pong 时间得到两个应用程序之间通信的时间量。

维基百科是这样描述 ping 的:

In multiplayer online video games, MMOs, MMORPGs, MMOFPSs and FPSs ping (not to be confused with frames per second) refers to the network latency between a player's computer (client), and either the game server or another client (i.e. peer). This could be reported quantitatively as an average time in milliseconds... Rather than using the traditional ICMP echo request and reply packets to determine ping times, game programmers often instead build their own latency detection into existing game packets

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