当前位置: 首页 > news >正文

网络通信——常见结构及强联网游戏和弱联网游戏区别

声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。


网络通信——常见结构及强联网游戏和弱联网游戏区别


文章目录

  • 网络通信——常见结构及强联网游戏和弱联网游戏区别
  • 一.常见互联网结构及相关概念
    • 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文件传输协议 主要用来完成 资源的下载和上传等需求

网络游戏开发中,根据游戏的需求和特点,可以选择适合的网络结构和通信方式。实时性和多人交互的游戏倾向于使用强联网,而非实时性的功能如用户认证、信息获取等则适合使用弱联网。

相关文章:

网络通信——常见结构及强联网游戏和弱联网游戏区别

声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。 网络通信——常见结构及强联网游戏和弱联网游戏区别 文章目录 网络通信——常见结构及强联网游戏和…...

如何安装PyFluent

0.什么是PyFluent? 官方介绍如下: PyFluent 是 PyAnsys 生态系统的一部分, 允许您在所选的 Python 环境中结合使用 Fluent 与其他 PyAnsys 库和外部 Python 库一起使用。 PyFluent 实现了客户端-服务器体系结构。它使用谷歌遥控器 过程调用或 gRPC 接…...

Qt 2 QMapQHashQVector类实例

1. QMap // 1:QMap的使用// 创建一个QMap 实例 key 为 QString value 为 intQMap<QString,int> Grade;// 插入方式有两种插入方式// 1.map[key] valueGrade["语文"] 90;Grade["数学"] 120;// 2.map.insert(key,value);Grade.insert("英语&qu…...

使用Git将文件夹上传到Github以及使用Git LFS上传大文件

使用Git将文件夹上传到Github以及使用Git LFS上传大文件...

1.SCI各模块

1.学会“抄” 写论文&#xff0c;一定要学会“抄”&#xff01;这样才能事半功倍&#xff0c;尤其是对于初次写作的新手&#xff0c;否则写作过程一定会让你痛不欲生&#xff0c;而且写出来的东西就是一坨shi&#xff0c;不仅折磨自己&#xff0c;也折磨导师。 写论文与建大楼…...

记录shell编程中$1,$@等符号的含义

笔者最近老是遇到shell中的$相关的题目&#xff0c;于是打算写篇文章记录一下。考虑到并没有特别多需要解释的内容&#xff0c;所以并不会进行介绍&#xff0c;上图上表上代码&#xff0c;让机器说话&#xff0c;machine always right test.sh #/bin/bash echo $# $# echo …...

单链表的应用

文章目录 目录1. 单链表经典算法OJ题目1.1 [移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/description/)1.2 [链表的中间节点](https://leetcode.cn/problems/middle-of-the-linked-list/description/)1.3 [反转链表](https://leetcode.cn/problem…...

手机副业赚钱秘籍:让你的手机变成赚钱利器

当今社会&#xff0c;智能手机已然成为我们生活不可或缺的一部分。随着技术的飞速进步&#xff0c;手机不再仅仅是通讯工具&#xff0c;而是化身为生活伴侣与工作助手。在这个信息爆炸的时代&#xff0c;我们时常会被一种焦虑感所困扰&#xff1a;如何能让手机超越消磨时光的定…...

(二十七)Flask之数据库连接池DBUtils库

目录: 每篇前言:DBUtils库模式一(底层使用threading.local实现):模式二:Flask中使用方式一:直接将DBUtils初始化放到settings.py文件中方式二:从utils文件夹中导入脚本使用DBUtils代码demo:每篇前言: 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心…...

FewShotPromptTemplate和SemanticSimilarityExampleSelector的学习

FewShotPromptTemplate 和 SemanticSimilarityExampleSelector 是在少样本学习&#xff08;FewShot Learning&#xff09;场景中常用的两种技术&#xff0c;它们在提高模型泛化能力和减少对大量标注数据的依赖方面扮演着重要角色。 下面我会解释它们之间的关系&#xff1a; F…...

【保姆级】2024年OnlyFans订阅指南

OnlyFans是一个独特的社交媒体平台&#xff0c;它为创作者和粉丝提供了一个互动交流的空间。通过这个平台&#xff0c;创作者可以分享他们的独家内容&#xff0c;而粉丝则可以通过订阅来支持和享受这些内容。如果你对OnlyFans感兴趣&#xff0c;并希望成为其中的一员&#xff0…...

深入理解JVM中的G1垃圾收集器原理、过程和参数配置

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;垃圾收集&#xff08;GC&#xff09;是一个自动管理内存的过程&#xff…...

VUE3 + Elementui-Plus 之 树形组件el-tree 一键展开(收起);一键全选(不全选)

需求&#xff1a; 产品要求权限树形结构添加外部复选框进行全部展开或收起&#xff1b;全选或不全选。 实现步骤&#xff1a; tree组件部分&#xff1a; <div class"role-handle"><div>权限选择(可多选)</div><div><el-checkbox v-mode…...

【Godot4自学手册】第三十七节钥匙控制开门

有些日子没有更新了&#xff0c;实在是琐事缠身啊&#xff0c;今天继续开始自学Godot4&#xff0c;继续完善地宫相关功能&#xff0c;在地宫中安装第二道门&#xff0c;只有主人公拿到钥匙才能开启这扇门&#xff0c;所以我们在合适位置放置一个宝箱&#xff0c;主人公开启宝箱…...

GitHub repository - Pulse - Contributors - Network

GitHub repository - Pulse - Contributors - Network 1. Pulse2. Contributors3. NetworkReferences 1. Pulse 显示该仓库最近的活动信息。该仓库中的软件是无人问津&#xff0c;还是在火热地开发之中&#xff0c;从这里可以一目了然。 2. Contributors 显示对该仓库进行过…...

RocketMQ 10 面试题FAQ

RocketMQ 面试FAQ 说说你们公司线上生产环境用的是什么消息中间件? 为什么要使用MQ&#xff1f; 因为项目比较大&#xff0c;做了分布式系统&#xff0c;所有远程服务调用请求都是同步执行经常出问题&#xff0c;所以引入了mq 解耦 系统耦合度降低&#xff0c;没有强依赖…...

【Spring进阶系列丨第十篇】基于注解的面向切面编程(AOP)详解

文章目录 一、基于注解的AOP1、配置Spring环境2、在beans.xml文件中定义AOP约束3、定义记录日志的类【切面】4、定义Bean5、在主配置文件中配置扫描的包6、在主配置文件中去开启AOP的注解支持7、测试8、优化改进9、总结 一、基于注解的AOP 1、配置Spring环境 <dependencie…...

Leetcode 152. 乘积最大子数组和Leetcode 162. 寻找峰值

文章目录 Leetcode 152. 乘积最大子数组题目描述C语言题解和思路解题思路 Leetcode 162. 寻找峰值题目描述C语言题解和思路解题思路 Leetcode 152. 乘积最大子数组 题目描述 给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的非空连续子数组&#xff08;该子数组中…...

项目实战之网络电话本之发送邮件名片和导出word版个人信息

1、项目介绍 1&#xff09;项目功能 用户管理&#xff1a;分为管理员、和普通用户&#xff0c;设置不同用户的权限 电话本信息管理&#xff1a;支持管理员和普通用户对电话本的信息进行增删改操作&#xff0c;模糊查询&#xff08;根据姓名、地址、单位&#xff09; 文件批…...

前端面试问题汇总 - HTTP篇

1. 登录拦截如何实现&#xff1f; 在前端&#xff0c;可以拦截所有需要登录的请求&#xff0c;如果用户未登录或者登录过期&#xff0c;则跳转到登录页面。 2. http 缓存有哪些&#xff1f; 强缓存&#xff1a; 强缓存是指在客户端请求资源时&#xff0c;先检查本地是否存在缓存…...

Java的IO流

Day35 Java的IO流 概念 Java的IO流是用来处理输入和输出操作的机制&#xff0c;用于在程序和外部数据源&#xff08;如文件、网络连接、内存等&#xff09;之间进行数据传输。Java的IO流主要分为字节流和字符流两种类型&#xff0c;每种类型又分为输入流和输出流。 理解&#…...

Node.js 中的 RSA 加密、解密、签名与验证详解

引言 在现代的网络通信中&#xff0c;数据安全显得尤为重要。RSA加密算法因其非对称的特性&#xff0c;广泛应用于数据的加密、解密、签名和验证等安全领域。本文将详细介绍RSA算法的基本原理&#xff0c;并结合Node.js环境&#xff0c;展示如何使用内置的crypto模块和第三方库…...

vue+element作用域插槽

作用域插槽的样式由父组件决定&#xff0c;内容却由子组件控制。 在el-table使用作用域插槽 <el-table><el-table-column slot-scope" { row, column, $index }"></el-table-column> </el-table>在el-tree使用作用域插槽 <el-tree>…...

MUSA模型

MUSA模型在软件可靠性工程中起到的作用是估计软件的故障/失效数量和故障率。具体来说&#xff0c;MUSA模型包括基本模型和对数模型。 MUSA基本模型假设故障发生的时间间隔服从参数为lambda的指数分布。在这个模型中&#xff0c;当故障被检测到时&#xff0c;发生故障的部分会被…...

avicat连接异常,错误编号2059-authentication plugin…

错误原因为密码方式不对&#xff0c;具体可自行百度 首先管理员执行cmd进入 mysql安装目录 bin下边 我的是C:\Program Files\MySQL\MySQL Server 8.2\bin> 执行 mysql -u -root -p 然后输入密码 123456 进入mysql数据库 use mysql 执行 ALTER USER rootlocalhost IDE…...

阿里云云效CI/CD配置

1.NODEJS项目流水线配置(vue举例) nodejs构建配置 官方教程 注意:下图的dist是vue项目打包目录名称,根据实际名称配置 # input your command here cnpm cache clean --force cnpm install cnpm run build 主机部署配置 rm -rf /home/vipcardmall/frontend/ mkdir -p /home/…...

个人开发者,Spring Boot 项目如何部署

今天给大家分享一下&#xff0c;作为个人开发者&#xff0c;Spring Boot 项目是如何部署的。 环境介绍 Linux docker docker-compose 目录结构 erwin-windrunner - backups - data - jars - build-docker-compose.sh - docker-compose.yml - Dockerfile文件 Dockerfile …...

【Spring进阶系列丨第九篇】基于XML的面向切面编程(AOP)详解

文章目录 一、基于XML的AOP1.1、打印日志案例1.1.1、beans.xml中添加aop的约束1.1.2、定义Bean 1.2、定义记录日志的类【切面】1.3、导入AOP的依赖1.4、主配置文件中配置AOP1.5、测试1.6、切入点表达式1.6.1、访问修饰符可以省略1.6.2、返回值可以使用通配符&#xff0c;表示任…...

学习记录:转发和重定向

转发&#xff08;Forward&#xff09;和重定向&#xff08;Redirect&#xff09;是两种不同的 Web 请求处理方式&#xff0c;它们在功能和行为上有着显著的区别。 区别 转发&#xff08;Forward&#xff09;&#xff1a; 服务器内部跳转&#xff1a;转发是服务器内部的行为&…...

实现(图像、视频等)数据上云存储

实现&#xff08;图像、视频等&#xff09;数据上云存储 实现&#xff08;图像、视频等&#xff09;数据上云存储通常涉及以下几个步骤&#xff1a; 选择云存储服务商&#xff1a; 根据您的需求、预算、地域覆盖、数据安全性、服务稳定性等因素&#xff0c;选择一家合适的云存储…...

那些网站可以上传自己做的视频/手机怎么建立网站

北京智能多媒体会议型号参数随着信息量的飞速增长和技术需求的不断提升&#xff0c;交通调度、企业展示以及数据监控等都越来越依赖小间距LED显示屏的帮助&#xff0c;其作为指挥中心和调度枢纽统筹全局的情报窗口的地位越发凸显重要性。因此LED显示屏在监控调度领域将获得更为…...

邢台wap网站建设价格/杭州seo教程

Maven 是一种全新的项目构建方式&#xff0c;基于项目对象模型&#xff08;POM&#xff0c;Project Object Model&#xff09;的思想&#xff0c;Maven 可以管理项目的整个生命周期&#xff0c;包括编译、构建&#xff08;build&#xff09;、测试、发布以及报告&#xff08;re…...

商城网站规划/广州网页搜索排名提升

文章目录requests库一、 基本概念1、 简介2、 获取3、 http 协议3.1 URL3.2 常用 http 请求方法二、 使用方法1、 基本语法requests 库中的方法2、 具体使用方法2.1 get2.1.1 基本语法2.1.2 常用参数2.2 post2.2.1 基本语法2.2.2 常用参数2.3 response2.4 head2.4.1 基本语法2.…...

网站开发策划方案/丁的老头seo博客

Hadoop运行模式 &#xff08;1&#xff09;Hadoop官方网站&#xff1a;Apache Hadoop &#xff08;2&#xff09;Hadoop运行模式包括&#xff1a;本地模式、伪分布式模式以及完全分布式模式。 a.本地模式&#xff1a;单机运行&#xff0c;只是用来演示一下官方案例。生产环境…...

做包装盒有哪些网站/百度seo价格查询

2019独角兽企业重金招聘Python工程师标准>>> 1、Dalvik与ART Dalvik包含了一整套的Android运行环境虚拟机&#xff0c;每个App都会分配Dalvik虚拟机来保证互相之间不受干扰&#xff0c;并保持独立。它的特点是运行时编译。 ART从Android5.X版本开始&#xff0c;ART模…...

网站改版说明/广告联盟平台自动赚钱

左神算法基础class6—题目1图的存储与表达1.题目&#xff1a;图的存储与表达2.分析&#xff08;1&#xff09;邻接表法&#xff08;2&#xff09;邻接矩阵&#xff08;3&#xff09;矩阵表达&#xff08;题目常出现&#xff09;3.图在内存中的存储&#xff08;1&#xff09;cla…...