第十章:联网 第一节
网络游戏
什么是网络游戏
-
能够允许众多玩家通过互联网共同娱乐的电脑游戏
-
MMORTS(策略游戏)、MMORPG(角色扮演游戏)、动作游戏
-
联网功能
-
现在的游戏引擎都提供了基本的联网功能
-
比如LAN方式的联网对战
LAN方式联网对战:是指通过局域网(Local Area Network)连接多台电脑进行游戏对战的方式。
-
-
大规模多人在线游戏的网络处理很复杂
-
有些公司专门研发用于处理这类游戏网络传输、数据储存的技术,称为MMO中间键
-
局域网与广域网
-
局域网一般没有专用的服务器,一般是其中一台计算机即作为服务器也作为客户端
-
广域网拥有专门的服务器作为专门的服务器,计算机作为专门的客户端,通过互联网来进行连接
游戏联网的网络构架(广域网)
-
一般可分为两种类型:
-
客户机/服务器
-
点对点
-
分组交换技术
-
互联网使用中分组交换并且容错的网络系统
1.分组交换:
信息被分解为多个小的包(几个字节或千字节的大小)分别发送出去
2.容错:
数据包在网络出现错误或者服务器发生故障的情况下任然可以发送
如果一个服务器出现故障,数据包将使用其他网络路径到达目的地
互联网的协议
-
可以分为3层
1.最底层的是IP协议
-
IP协议是用于报文交换网络的一种面向数据的协议
-
IP协议定义了数据包在网际传送时的格式
2.UDP协议或TCP协议
-
UDP或者TCP层将大的数据包传给IP
-
然后IP将这些大的数据包分割为小的子数据包,为每个数据包加上一个信封
3.最顶层的是一些应用层协议
-
应用层协议用于通用应用的数据报结构,其中包括:
-
DNS:域名服务;
-
FTP:服务使用的时文件传输协议;
-
HTTP:所用的Web页面服务都是使用的超级文本传输协议;
-
POP3:邮局协议;
-
SMTP:简单邮件传输协议;
-
Telnet:远程登录等
-
-
UDP和TCP的区别
-
UDP是一种不可靠的数据流传输协议
-
而TCP协议则具有高的可能性
-
通过为数据报加入额外信息,并提供重发机制,他能够保证数据不丢包、没有冗余包以及保证数据报的顺序
-
-
对于一些需要高可靠性的应用,可以选择TCP协议
-
对于性能休闲考虑的应用如流媒体等,则可以选择UDP协议
关于不同联网游戏的协议选择
-
策略类游戏,可以接受一定程度的网络延迟,但是需要保证玩家的每一步选择都准确无误的传到网络上,因此可以选择TCP协议
-
第一人称射击类游戏,节奏快,每个操作必须实时反馈出来,但是可以接受一定的不准确性,因此可以选择UDP协议
联网功能的实现
-
使用游戏引擎自带的联网模块
-
使用底层网络接口自己实现功能