我正在使用Winsock,C ++和Win32制作一款基于双人游戏的游戏。问题是,我需要一种方法来确定每个玩家的当前连接速度(或滞后时间)。
如果玩家的连接速度太慢,我不希望他(或她)的对手每次移动需要额外等待20秒(由于滞后)。
为了防止这种不必要的等待,将不允许具有过高滞后(或 当前 连接速度太慢)的玩家在某些区域玩游戏。游戏。
有没有人知道确定客户端连接速度或当前滞后的方法?
我甚至不知道从哪里开始,所以任何帮助都将受到赞赏。
我读了一些关于ping的内容,我很想知道是否有一个方法(或一些winsock函数)可以让我从服务器ping客户端计算机,或者从客户端ping服务器?
答案 0 :(得分:2)
好吧,你可以很容易地发现连接的“ping”时间......
一个程序使用原始邮件的时间戳发送包含时间戳的特殊邮件,另一个回复。然后,当第一个程序收到回复时,它可以将发送的消息中的时间戳与当前时间进行比较,从而获得“ping”时间。