如何在C#中获取服务器和客户端之间的延迟?

栏目: ASP.NET · 发布时间: 5年前

内容简介:我正在为一个游戏引擎开发一个C#Server应用程序,我正在用ActionScript 3编写.我正在使用权威服务器模型来防止作弊并确保公平游戏.到目前为止,一切运作良好:当客户端开始移动时,它会告诉服务器并在本地开始渲染;然后,服务器告诉其他人客户端X已开始移动,其中包含详细信息,以便他们也可以开始渲染.当客户端停止移动时,它会告诉服务器,服务器根据客户端开始移动的时间执行计算,客户端呈现滴答延迟并回复所有人,这样他们就可以使用正确的值进行更新.问题是,当我在服务器计算上使用默认的20ms滴答延迟时,当客

我正在为一个游戏引擎开发一个C#Server应用程序,我正在用ActionScript 3编写.我正在使用权威服务器模型来防止作弊并确保公平游戏.到目前为止,一切运作良好:

当客户端开始移动时,它会告诉服务器并在本地开始渲染;然后,服务器告诉其他人客户端X已开始移动,其中包含详细信息,以便他们也可以开始渲染.当客户端停止移动时,它会告诉服务器,服务器根据客户端开始移动的时间执行计算,客户端呈现滴答延迟并回复所有人,这样他们就可以使用正确的值进行更新.

问题是,当我在服务器计算上使用默认的20ms滴答延迟时,当客户端移动相当长的距离时,当它停止时会有明显的向前倾斜.如果我将延迟略微增加到22ms,在我的本地网络上一切都运行得非常顺利,但在其他地方,倾斜仍然存在.经过一番实验后,我注意到所需的额外延迟几乎与客户端和服务器之间的延迟有关.我甚至把它煮成了一个非常好的公式:延迟= 20(延迟/ 10).

那么,我将如何继续获取某个客户端和服务器之间的延迟(我正在使用异步套接字). CPU的工作量不能太大,因为没有服务器运行缓慢.此外,这真的是最好的方式,还是有更有效/更简单的方法来做到这一点?

很抱歉,这不是直接回答您的问题,但一般来说,您不应过分依赖测量延迟,因为它可能变化很大.不仅如此,你不知道你测量的ping时间是否是对称的,这很重要.如果事实证明,20ms的ping时间实际上是从服务器到客户端的19ms,从客户端到服务器的1ms,则没有必要应用10ms的延迟校正.应用程序术语中的延迟与网络术语中的延迟不同 – 您可能能够ping某台计算机并在20ms内获得响应,但如果您正在联系该计算机上的服务器,该服务器每秒只处理网络输入50次,那么你的回复将被延迟0到20毫秒,这将变化相当不可预测.

这并不是说延迟测量它没有平滑预测的地方,但它不会解决你的问题,只是清理一下.

从表面上看,这里的问题似乎是您在第一条消息中发送了信息,用于从收到最后一条消息之前推断数据.如果所有其他方法保持不变,则第一条消息中给出的移动向量乘以消息之间的时间将为服务器提供客户端大致现在所处的正确结束位置 – (延迟/ 2).但是如果延迟发生变化,则消息之间的时间会增加或缩小.客户可能知道他移动了10个单位,但服务器模拟他移动了9或11个单位,然后被告知将他重新安置回10个单位.

对此的一般解决方案是不假设延迟将保持不变,而是发送定期位置更新,这允许服务器验证并纠正客户端的位置.现在只有2条消息,在第二条消息之后找到并纠正了所有错误.随着更多消息的出现,错误会分布在更多的采样点上,从而实现更平滑,更不可见的校正.

它永远不会是完美的:它只需要在最后一毫秒的运动中出现滞后峰值,服务器的表示就会超调.如果你根据过去的事件预测未来的运动,你无法解决这个问题,因为没有真正的选择来选择正确但迟到或不正确但是及时,因为信息需要时间旅行. (责备爱因斯坦.)

翻译自:https://stackoverflow.com/questions/770978/how-do-i-obtain-the-latency-between-server-and-client-in-c


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

企业应用架构模式

企业应用架构模式

Martin Fowler / 王怀民、周斌 / 机械工业出版社 / 2010-4 / 59.00元

《企业应用架构模式》作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。《企业应用架构模式》获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。《企业应用架构模式》分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是《企业应用架构模式》的主体......一起来看看 《企业应用架构模式》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具