UN1L6——网络游戏通信方案概述

弱联网和强联网游戏

通过之前的知识我们知道,网络游戏是以C/S模型为基础进行开发的,由客户端和服务端组成

  • 弱联网游戏:

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

  • 强联网游戏:

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

弱联网和强联网游戏代表:

  • 弱联网游戏代表:

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

  • 强联网游戏代表:

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

长连接和短连接游戏

长连接和短连接游戏是按照网络游戏通信特点来划分的,我们甚至可以认为:弱联网游戏——>短连接游戏,强联网游戏——>长连接游戏

  • 短连接游戏:需要传输数据时,建立连接,传输数据,获得响应,断开连接
    通信特点:需要通信时再连接,通信完毕断开连接
    通信方式:HTTP超文本传输协议、HTTPS安全的超文本传输协议(他们本质上是TCP协议)
  • 长连接游戏:不管是否需要传输数据,客户端与服务器一直处于连接状态,除非一端主动断开,或者出现意外情况(客户端关闭或服务端崩溃等)
    通信特点:连接一直建立,可以实时的传输数据
    通信方式:TCP传输控制协议 或 UDP用户数据报协议

Socket、HTTP、FTP

  • Socket:网络套接字,是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象,
    一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制
    我们之后主要学习的就是Socket网络套接字当中的各种API来进行网络通信,主要用于制作长连接游戏(强联网游戏)
  • Http/Https: (安全的)超文本传输协议,是一个简单的请求-响应协议,它通常运行在TCP协议之上,
    它指定了客户端可能发送给服务端什么样的信息以及得到什么样的响应。
    主要用于制作短连接游戏(弱联网游戏),也可以用来进行资源下载
  • FTP:文件传输协议,是用于在网络上进行文件传输的一套标准协议,可以利用它来进行网络上资源的下载和上传。
    它也是基于TCP的传输,是面向连接的,为文件传输提供了可靠的保证