有关网络延迟解决方法 网络延迟检测是什么原因

一、什么是网络延迟
指各式各样的数据在网络介质中通过网络协议进行传输 , 如果信息量过大不加以限制 , 超额的网络流量就会导致设备反应缓慢,卡顿 , 便称之为网络延迟 。

有关网络延迟解决方法 网络延迟检测是什么原因

文章插图
二、网络延迟的常见三种状态
为什么会产生网络延迟(上网状态)
  • 服务器:网络处于高峰,网络负荷过高造成延迟,光纤好比是一条公路 , 光纤越大代表着路越宽 , 当车子涌入太多,再宽的路也会堵?。ê芏嗳艘煌⑹荩?nbsp;, 那么大家必须要遵守规则 , 排队行驶,那么耗时就多了 。
  • 物理方面:网卡性能差、手机运存不够、手机电脑中毒等造成软件无法运行从而影响硬件 。
  • 网线:网线质量差,线路周围电磁干扰等等都会影响运行速度
  • 区域性问题:所处的区域若是网点发生了问题 。
为什么会产生网络延迟的状态(发送文件状态)
  • 发送过程
发送过程中出现卡顿是因为系统正在处理数据(一般都会将数据压缩),而电脑或手机硬件不行,就会出现卡顿 。
  • 接收过程
接收文件视频的时候,一般来说会将发送时候的数据解码,然后展现到手机上,这个时候,若是手机运算能力不足,那么会出现卡顿 。
  • 发送邮件时间过长(通常带有较大附件)
  • 访问网站速度很慢
  • 无法访问网站网络延迟出现的原因是什么?有哪些方法降低网络延迟?
网络时延是所有后台程序员的挑战,特别是对于游戏开发来说 , 特别是FPS或MOBA游戏,有时候,延迟可能左右一次击杀,甚至一盘游戏的胜负 。而网络延迟也常在程序员的面试题中出现:
三、什么是延迟
  • 首先我们要明白什么是网络延迟,网络延迟是你从客户端上发出一次操作,到收到服务器响应的一个延迟时间 。举个例子:你在打王者荣耀,然后你决定不慌吃口药 。很显然吃药能否恢复生命是由后台决定的,所以,你从吃药到开始回血可能是下面这样的过程:

有关网络延迟解决方法 网络延迟检测是什么原因

文章插图
  1. 用户点击了回血 , 客户端向后台发起请求
  2. 针对用户的请求,会校验角色的状态(例如角色跪了肯定就不能再吃了),上次吃药的频率(1分钟才能吃1次)等业务逻辑
  3. 校验没问题之后,会下发消息给客户端说可以吃药了 。
  4. 客户端收到消息之后,继续吃药的动画 。
在用户发起请求 , 到用户收到服务端的确认请求之间的时间,我们称之为延迟 。
四、延迟的产生
从用户的手机 , 到游戏后台的服务器,是有距离的 。现在,光纤已经遍布大江南北,即便数据在光纤中的传播速度接近光的速度,从深圳到北京也是需要十来毫秒 。事实上,从你的手机上操作,访问北京服务器的数据,并非是直线访问,需要经历过非常多中间设备,不同的运营商 。在这些设备之间,可能性能参差不齐,造成延迟进一步加大 。
其次,服务器处理数据,是需要时间的,如果代码写得不合理 , 或者服务器性能过载,都可能增加单个请求的处理时间,从而造成延迟加剧 。
五、延迟优化
有关网络延迟解决方法 网络延迟检测是什么原因

文章插图
【有关网络延迟解决方法 网络延迟检测是什么原因】第一个是从硬件上处理,建立专线 。如果说原先的网络环境是普通的公路,那么,专线就是高速公路,在专线上,中间设备会减少,并且带宽更大,减少数据进行绕路 。
第二个是从传输协议上,例如使用UDP协议替换TCP协议 。越来越多的游戏传输协议,从TCP切换成UDP 。由于TCP建立连接需要三次握手,并且TCP有队首阻塞问题 。在网络不稳定的时候 , 更容易加大延迟 。有人说,使用UDP协议,不就不可靠了么?在我们之前有一篇文章,专门介绍可靠的UDP协议传输,有兴趣可以看一下 。
第三个还是从传输协议上优化,一般来说 , 为了优化的性能,在客户端或服务端,我们都会使用Buffer来进行数据缓冲,带来更高的IO效率 。但是,如果Buffer过大,就可能是人为的制造延迟 , 所以我们可以减少Buffer的使用 , 或者缩小Buffer的大小 。
第四是服务器使用更高的更高的帧率运算 。什么是帧率呢?很多对战的游戏,并不是数据一发送到服务器 , 服务器就立马处理的 。如果服务器1秒钟处理30次,那么,如果一个请求到服务器的时候 , 上一帧刚处理完 , 它就需要等待33ms 。如果帧率提升到120帧,那么同样的情况,只需要等待8ms,大大减少延迟的时间 。
第五客户端提前动画或预测数据,改善用户体验 。还是上述那个吃口药的例子,我们在用户点击之后 , 就立马处理吃药的动画,因为绝大部分用户,都是正常的用户,发出来的请求都是合法的请求,对于少数外挂的用户,后续服务器返回进行对齐就可以了 。这种方法,实际上并没有改善延迟 , 但是却大大提升了用户体验 。


    以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

    「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: