在实时性方面,tcp协议的网络抗性欠佳,对MOBA类或其他实时性要求较高的游戏,一般是不建议使用tcp作为协议载体。事实上,王者荣耀的PVP通信协议也确实是基于udp封装的;同样,最近大家喜闻乐见的《绝地求生》,也是基于udp的。

不同类型的游戏因为玩法、竞技程度不一样,采用的同步算法不一样,对网络延迟的要求也不一样。例如,MOBA类游戏多使用帧同步为主要同步算法,竞技性也较高,无论从流畅性,还是从公平性要求来说,对响应延迟的要求都最高,根据业内经验,当客户端与服务器的网络延迟超过150ms时,会开始出现卡顿,当延迟超过250ms时,会对玩家操作造成较大影响,游戏无法公平进行。类似地,“吃鸡”游戏(如《绝地求生》)玩法对玩家坐标、动作的同步要求极高,延迟稍大导致的数据不一致对体验都会造成较大影响,其实时性要求接近MOBA类游戏。而对于传统mmorpg来说,多采用状态同步算法,以属性养成和装备获取为关注点,也有一定竞技性,出于对游戏流畅性的要求,对延迟也有一定要求,同步算法的优化程度不一样,这一要求也不一样,一般情况下为保证游戏正常进行,需要响应延迟保持在300ms以下。相比之下,对于炉石传说、斗地主、梦幻西游等回合制游戏来说,同时只有一个玩家在操作双方数据,无数据竞争,且时间粒度较粗,甚至可通过特效掩盖延迟,因此对网络延迟的要求不高,即便延迟达到500ms~1000ms,游戏也能正常进行。

一般游戏中TCP和UDP会同时用的,如果对于数据传输速度要求非常高的场景,比如FPS,MOBA等游戏过程中,用户对战时候的数据肯定是要用UDP来传输的,并且在程序层面保证传输的可靠性,包括自己做校验等;但其它模块,比如大厅里啊,买东西啊,创建房间啊等等,都是可以TCP实现的。魔兽世界用TCP是因为他对数据的即时要求并没有那么高,而且有很多的校验啊,技能读条等等,在副本中晚跑个一秒或者放技能多读一秒,影响并没有那么大,但如果是LOL,那可能团战都要输了。

游戏用tcp还是udp相关推荐

  1. TCP与UDP区别小结

    TCP(Transmission Control Protocol):传输控制协议 UDP(User Datagram Protocol):用户数据报协议 主要从连接性(Connectivity).可 ...

  2. Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤...

    TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据.对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的.这就是为什么TCP和UDP是一个流行的Java编程面试问题. Jav ...

  3. 什么是TCP和UDP?—Vecloud微云

    是否快速完整地传输数据取决于您使用的是UDP还是TCP网络协议.他们俩都做相同的工作,但是方式不同,一种更可靠,另一种更快. TCP和UDP的定义 TCP(传输控制协议)和UDP(用户数据报协议)都是 ...

  4. tcp udp区别优缺点_Linux网络编程面试题--tcp和udp的区别

    (1)TCP是基于连接的,UDP是基于无连接的. (2)TCP的数据是可靠的,UDP的数据是不可靠的. (3)TCP的数据是有序的,UDP的数据是无序的. (4)TCP不保存用户边界,UDP保存用户边 ...

  5. TCP 和 UDP,哪个更胜一筹

    作为 TCP/IP 中两个最具有代表性的传输层协议,TCP 和 UDP 经常被拿出来相互比较.这些协议具体有什么区别,又是什么作用呢? 在 IT 圈混迹多年的小伙伴们,对 TCP 和 UDP 肯定再熟 ...

  6. 浅谈基于TCP和UDP的协议设计

    From:http://blog.sina.com.cn/s/blog_48d4cf2d0101859x.html 一个基于TCP/WebSockets的超级精简的长连接消息协议:https://st ...

  7. 网络编程之Tcp,udp

    1.TCP 2.补充异常处理 3.UDP 一TCP. 1.socket基础版本通讯 服务端: 1 import socket 2 3 server = socket.socket()# 生成一个对象 ...

  8. 网络协议梳理(三)(网关和路由器、动态路由算法、Bellman-Ford算法、Dijkstra算法、动态路由协议、TCP和UDP)

    MAC 头和 IP 头的细节 在任何一台机器上,当要访问另一个IP地址的时候,都会使用CIDR和子网掩码去判断目标IP地址和当前机器的IP地址是否属于同一网段. 如果是同一网段--如果ARP缓存中存有 ...

  9. TCP、UDP、Socket、HTTP面试题(总结最全面的面试题!!!)

    文章目录 先看一天面试的经验: 什么是网络编程 网络编程中两个主要的问题 网络协议是什么 为什么要对网络协议分层 计算机网络体系结构 1 TCP / UDP 1.1 什么是TCP/IP和UDP 1.2 ...

最新文章

  1. 人脸关键点估计人头姿态
  2. 忘记手机绑定过的UC/交易猫账号怎么找回
  3. ajax接口调节,前端用ajax调接口怎么破啊?
  4. mysqlbinlog恢复误删数据
  5. 开年趣图汇总:对不起,让你笑了这么久
  6. 二分法:两个有序数组长度为N,找到第N、N+1大的数
  7. win10系统进入监护人模式的方法
  8. 天刀服务器维护到几点,3月3日服务器例行维护公告
  9. python安装过程的一些问题解决方案
  10. 如何查看系统启动时间-
  11. UNIX、Linux与Windows之比较
  12. 什么是微信62数据?微信62数据原理解读
  13. 常用加密算法--对称加密算法
  14. 优酷KUX视频转换MP4工具,纯个人向分享
  15. Android手机便携式wifi的使用及无线数据传输(主要针对XP系统)
  16. 虚拟机IP地址和主机名称配置
  17. 深圳礼品展上新“缤纷食品馆” 解锁员工福利新场景
  18. “项目集管理标准体系与PgMP认证”讲座笔记
  19. 那些年的java游戏_那些年我们曾经玩过的游戏,你还记得几个
  20. win 7 必备 2

热门文章

  1. 理解ASM(六)ASM文件管理
  2. 七彩影视四个步骤去除CMS教程
  3. IO流批量改文件名字,把文件夹中类似于文件名,“我java_爱好者_最帅“改成“爱好者_最轻特工组合“
  4. 通过导数求极值为什么还需要梯度下降
  5. BI技巧丨计算组柱形图
  6. 新的开始,加油。。。
  7. 百家号注册注意事项:领域、名称、签名怎么写才好
  8. 基于vue的恋爱日常记录网站 计算机毕业设计 恋爱日常记录网站
  9. 天龙网游帮会玩法详解 帮会系统详细介绍
  10. 转载:网络游戏外挂设计深度探索