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

news/2024/5/2 17:39:09/文章来源:https://blog.csdn.net/weixin_45532761/article/details/137605364

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


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


文章目录

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1046035.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP自助建站系统,小白也能自己搭建网站

无需懂代码,用 自助建站 做企业官网就像做PPT一样简单,您可以亲自操刀做想要的效果! 自助建站是一款简单、快捷、高效的工具,可以帮助您制作响应式网站。我们的自助建站系统,将传统的编码工作转化为直观的拖拽操作和文…

Qt | 元对象系统

一、QByteArray 类简介 1、QByteArray 类简介  该类是一个用于处理字符串的类似于 C++的 string 类型的类,在 Qt 中,对字符串的处理,经常使用的是 QString 类,该类保证字符串以\0结尾,并使用隐式共享(copy-on-write)来减少内存用量和不必要的数据复制。  QByteArra…

Web3 的社会影响:数字社会的新时代

随着科技的不断进步和创新,人类社会正逐步进入数字化时代的新阶段。Web3 技术作为数字社会的重要组成部分,正在以前所未有的方式重塑着我们的社会生活和交往方式。本文将探讨 Web3 技术对社会的影响,以及它所带来的数字社会的新时代。 1. Web…

Gitlab全量迁移

Gitlab全量迁移 一、背景1.前提条件 一、背景 公司研发使用的Gitlab由于服务器下架需要迁移到新的Gitlab服务器上。Gitlab官方推荐了先备份然后再恢复的方法。个人采用官方的另外一种方法,就写这篇文章给需要的小伙伴参考。 源Gitlab: http://old.mygitlab.com #地…

数据应用OneID:ID-Mapping Spark GraphX实现

前言 说明 以用户实体为例,ID 类型包含 user_id 和 device_id。当然还有其他类型id。不同id可以获取到的阶段、生命周期均不相同。 device_id 生命周期通常指的是一个设备从首次被识别到不再活跃的整个时间段。 user_id是用户登录之后系统分配的唯一标识&#xff…

3D数据发布工具HOOPS Publish如何将3D模型转换成PDF格式?

在现代科技发展的推动下,3D技术在各个行业中扮演着越来越重要的角色。从工程设计到医疗保健,从建筑规划到教育培训,3D模型都成为了理解、沟通和展示复杂数据的主要工具。而将这些3D模型转换成PDF格式,能够使其更易于共享、存档和展…

配置交换机端口安全

1、实验目的 通过本实验可以掌握: 交换机管理地址配置及接口配置。查看交换机的MAC地址表。配置静态端口安全、动态端口安全和粘滞端口安全的方法。 2、实验拓扑 配置交换机端口安全的实验拓扑如图所示。 配置交换机端口安全的实验拓扑 3、实验步骤 &#xff…

nginx配置证书和私钥进行SSL通信验证

文章目录 一、背景1.1 秘钥和证书是两个东西吗?1.2 介绍下nginx配置文件中参数ssl_certificate和ssl_certificate_key1.3介绍下nginx支持的证书类型1.4 目前nginx支持哪种证书格式?1.5 nginx修改配置文件目前方式也会有所不同1.6 介绍下不通格式的证书哪…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.6 定期处理 - 2.6.3 月末操作:外币评估

2.6.3 月末操作:外币评估 企业的外币业务在记账时一般使用期初的汇率或者即时汇率,但在月末,需要按照月末汇率对外币的余额或者未清项进行重估(revaluation)。 企业在资产负债表日,应当按照下列规…

【springboot开发】Gradle VS Maven

前言: java构建工具的主要作用是依赖管理和构建的生命周期管理。gradle和maven是目前java中最流行的两个构建工具,springboot常用maven,Android studio使用gradle。 目录 1. 简介2. Maven2.1 安装2.2 依赖管理2.3 构建生命周期管理 3. Gradle…

VirusTaxo:病毒物种注释

https://github.com/omics-lab/VirusTaxo 安装 git clone https://github.com/omics-lab/VirusTaxo mamba create -n VirusTaxo python3.10 mamba activate VirusTaxo cd VirusTaxo python3 -m venv environment source ./environment/bin/activate pip install -r require…

SpringCloud系列(2)--SpringCloud和SpringBoot技术选型

前言:SpringCloud是微服务架构的一揽子解决方案,SpringBoot是一种技术,要使用SpringCloud,也需要使用到SpringBoot,所以要使用SpringCloud时,必须也要考虑到SpringBoot的适配问题 1、查看SpringCloud和与之…

最好的 iPhone 解锁器解决方案功能、优点和缺点

现最受好评的 iPhone 解锁器,例如 奇客解锁、iPassGo 等。深入了解它们的优缺点和兼容性,以做出明智的决定。了解如何解锁 iPhone 并解决有关解锁方法、PIN 绕过和潜在风险的常见问题。 1、奇客手机解锁 奇客手机解锁是一款适用于 iOS 的多功能解锁工具…

2024春算法训练4——函数与递归题解

一、前言 感觉这次的题目都很好,但是E题....(我太菜了想不到),别人的题解都上百行了,晕; 二、题解 A-[NOIP2010]数字统计_2024春算法训练4——函数与递归 (nowcoder.com) 这种题目有两种做法:…

网站SEO关键词规划时如何筛选出合适的关键词?

在网站SEO优化过程中,关键词布局是一个至关重要的环节。首先,我们需要确定核心关键词,然后通过各种策略和方法对关键词进行扩展。完成关键词扩展后,接下来的任务就是对这些扩展后的关键词进行筛选。那么,如何进行有效的…

pytorch3d、Detectron2编译安装

基础环境: python:3.6 ubuntu:18.04 pytorch:1.8 cuda:10.2 一、pytorch3d编译 官方指南 GitCode - 开发者的代码家园 注意:cuda11以下的版本,需要安装CUB libaray,cuda11以上的版…

开源项目one-api的k8s容器化部署(上)-- 制作镜像及部署准备

一、背景 最近需要对开源项目one-api进行k8s容器化部署,主要分以下几个步骤: 制作docker镜像申请mysql和redis数据库docker-compose部署方式k8s部署方式 整个的篇幅比较长,将会分成上下两篇来阐述。 二、制作docker镜像 开源项目one-api…

Idea集成Docker的快捷部署

Idea集成Docker的快捷部署 配置Docker远程访问1.1 修改 `/lib/systemd/system/docker.service`1.2 替换`ExecStart`1.3 重启docker服务1.4 监听端口是否被占用1.5 服务器防火墙开启2375端口1.6 测试配置IDEA2.1 下载docker插件2.2 添加docker连接2.3 配置容器镜像加速器2.4 配置…

Gradle 在 Spring 中的使用ApiHug准备-工具篇-006

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ApiHug …

Redis Cluster集群模式

目录 一、理论 1.1 概念 1.2 集群的作用 1.3 redis集群的数据分片 1.4 Redis集群的主从复制模型 二、实践 2.1 Redis集群模式的搭建 2.1.1 cluster集群前期工作 2.1.2 开启群集功能 2.1.3 启动redis节点 2.1.4 启动集群 2.2 测试集群 总结 一、理论 1.1 概念 集群&a…