声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。
网络通信——常见结构及强联网游戏和弱联网游戏区别
文章目录
- 网络通信——常见结构及强联网游戏和弱联网游戏区别
- 一.常见互联网结构及相关概念
- 1.常见结构一般分为以下三种
- 2.相关概念
- 2.1Socket:网络套接字
- 2.2Http/Https:(安全的)超文本传输协议
- 2.3FTP:文件传输协议
- 二.强联网游戏
- 1.概念
- 2.原理
- 3.特点:
- 3.1通信特点:
- 3.2通信方式:
- 4.应用:
- 三.弱联网游戏
- 1.概念
- 2.原理
- 3.特点:
- 3.1通信特点:
- 3.2通信方式:
- 4.应用:
- 四.总结
一.常见互联网结构及相关概念
1.常见结构一般分为以下三种
C/S结构(客户端/服务器):适用于传统的客户端游戏和微端游戏。
B/S结构(浏览器/服务器):适用于网页游戏。
C/S结构:介于网页游戏和客户端游戏之间的微端游戏。
2.相关概念
2.1Socket:网络套接字
是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象,一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制我们之后主要要学习的就是Socket网络套接字当中的各种API来进行网络通信,主要用于制作长连接游戏(强联网游戏)
2.2Http/Https:(安全的)超文本传输协议
是一个简单的请求-响应协议,它通常运行在TCP协议之上,它指定了客户端可能发送给服务端什么样的信息以及得到什么样的响应。
主要用于制作短连接游戏(弱联网游戏),也可以用来进行资源下载
2.3FTP:文件传输协议
是用于在网络上进行文件传输的一套标准协议,可以利用它来进行网络上资源的下载和上传。它也是基于TCP的传输,是面向连接的,为文件传输提供了可靠的保证
二.强联网游戏
1.概念
通常说的强联网其实就是用Socket(套接字)连接,也叫强连接,长连接。
强联网游戏——>长连接游戏
2.原理
基本的socket通信服务器端主要需要确定端口,同时绑定端口进行监听,一旦有从客户端法过来的连接请求就建立连接并收发消息。
3.特点:
不管是否需要传输数据,客户端与服务器一直处于连接状态,除非一端主动断开,或者出现意外情况(客户端关闭或服务端崩溃等)
3.1通信特点:
连接一直建立,可以实时的传输数据
3.2通信方式:
TCP传输控制协议 或 UDP用户数据报协议
4.应用:
强联网游戏:这种游戏会频繁的和服务端进行通信,会一直和服务端保持连接状态,不停的和服务器之间交换数据。应用于需要实时对战、多人在线的游戏。
一般的MMORPG(角色扮演)、MOBA(多人在线竞技游戏)、ACT(动作游戏)等等都会是强联网游戏,这些游戏的部分核心逻辑是由服务端进行处理,客户端和服端之间不停的在同步信息比如:王者荣耀,绝地求生等.
三.弱联网游戏
1.概念
弱联网游戏——>短连接游戏
2.原理
使用HTTP/HTTPS协议进行非实时通信。
通信方式主要是GET和POST请求。
基于URL的请求响应模式,浏览器通过HTTP获取服务器资源并渲染网页。
每次连接处理单一请求,处理完毕后即断开,节省资源。
应用于登录、注册、选服功能,以及获取游戏角色信息、商城窗口信息等。
3.特点:
这种游戏不会频繁的进行数据通信,客户端和服务端之间每次连接只处理一次请求,服务端处理完,客户端的请求后返回数据后就断开连接了。游戏的核心玩法都由客户端完成,客户端处理完成后只是告诉服务端一个结果,服务端验证结果即可,不需要随时通信。
3.1通信特点:
需要通信时再连接,通信完毕断开连接
3.2通信方式:
HTTP超文本传输协议、HTTPS安全的超文本传输协议(他们本质上是TCP协议)
4.应用:
应用于登录、注册、选服功能,以及获取游戏角色信息、商城窗口信息等。
一般的三消类休闲游戏、卡牌游戏等都会是弱联网游戏,比如消消乐。
四.总结
网络游戏的通信方案大体上可以根据游戏的实际情况分为两种:
长连接(强联网)游戏 和 短连接(弱联网)游戏
1.Socket网络套接字 主要用来完成 长连接网络游戏需求
2.Http超文本传输协议 主要用来完成 短连接网络游戏需求 (或者资源下载相关)
3.Ftp文件传输协议 主要用来完成 资源的下载和上传等需求
网络游戏开发中,根据游戏的需求和特点,可以选择适合的网络结构和通信方式。实时性和多人交互的游戏倾向于使用强联网,而非实时性的功能如用户认证、信息获取等则适合使用弱联网。