1

我正在使用 Winsock、C++ 和 Win32 制作一个两人回合制游戏。问题是,我需要一种方法来确定每个玩家的当前连接速度(或延迟时间)。

如果玩家的连接速度太慢,我不希望他(或她)的对手每次移动都需要额外等待 20 秒(由于滞后)。

为了防止这种不必要的等待,延迟太高(或当前连接速度太慢)的玩家将不允许在游戏的某些区域进行游戏。

有谁知道确定客户端连接速度或当前延迟的方法?

我什至不知道从哪里开始,所以任何帮助将不胜感激。

我阅读了一些关于 ping 的东西,我很想知道是否有一种方法(或一些 winsock 函数)可以让我从服务器 ping 客户端计算机,或从客户端 ping 服务器?

4

1 回答 1

2

好吧,您可以很容易地发现连接的“ping”时间......

一个程序使用原始消息的时间戳发送包含时间戳的特殊消息,另一个程序回复该消息。然后当第一个程序收到回复时,它可以将发送消息中的时间戳与当前时间进行比较,从而获得“ping”时间。

于 2012-11-24T07:03:09.937 回答