Contents

网络游戏通信方案概述

弱联网和强联网游戏

弱联网游戏

这种游戏不会频繁的进行数据通信,客户端和服务端之间每次连接只处理一次请求,服务端处理完 客户端的请求后返回数据后就断开连接了

一般的三消类休闲游戏、卡牌游戏等都会是弱联网游戏,这些游戏的核心玩法都由客户端完成,客 户端处理完成后只是告诉服务端一个结果,服务端验证结果即可,不需要随时通信 比如:开心消消乐、刀塔传奇、我叫MT等等

强联网游戏

这种游戏会频繁的和服务端进行通信,会一直和服务端保持连接状态,不停的和服务器之间交换数 据

一般的MMORPG(角色扮演)、MOBA(多人在线竞技游戏)、ACT(动作游戏)等等都会是强 联网游戏,这些游戏的部分核心逻辑是由服务端进行处理,客户端和服务端之间不停的在同步信息 比如:王者荣耀、守望先锋、和平精英等等


长连接和短连接游戏

长连接和短连接游戏是按照网络游戏通信特点来划分的

我们甚至可以认为

弱联网游戏——>短连接游戏

强联网游戏——>长连接游戏

短连接游戏:

需要传输数据时,建立连接,传输数据,获得响应,断开连接

通信特点:需要通信时再连接,通信完毕断开连接

通信方式:HTTP超文本传输协议、HTTPS安全的超文本传输协议(他们本质上是TCP协议)

长连接游戏:

不管是否需要传输数据,客户端与服务器一直处于连接状态,除非一端主动断开,或 者出现意外情况(客户端关闭或服务端崩溃等)

通信特点:连接一直建立,可以实时的传输数据

通信方式:TCP传输控制协议 或 UDP用户数据报协议


Socket、HTTP、FTP

Socket网络套接字:

是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象,一个套接字就是网 络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制

主要用于制作长连接游戏(强联网游戏)

Http/Https(安全的)超文本传输协议:

是一个简单的请求-响应协议,它通常运行在TCP协议之上,它指定了 客户端可能发送给服务端什么样的信息以及得到什么样的响应。

主要用于制作短连接游戏(弱联网游戏),也可以用来进行资源下载

FTP文件传输协议:

是用于在网络上进行文件传输的一套标准协议,可以利用它来进行网络上资源的下载和 上传。它也是基于TCP的传输,是面向连接的,为文件传输提供了可靠的保证


总结

网络游戏的通信方案大体上可以根据游戏的实际情况分为两种

长连接(强联网)游戏 和 短连接(弱联网)游戏

  1. Socket网络套接字 主要用来完成 长连接网络游戏需求
  2. Http超文本传输协议 主要用来完成 短连接网络游戏需求 (或者资源下载相关)
  3. Ftp文件传输协议 主要用来完成 资源的下载和上传等需求