首页 > 其他分享 >Unity网络通信(part1.通信方案概述)

Unity网络通信(part1.通信方案概述)

时间:2024-11-05 09:18:05浏览次数:3  
标签:网络通信 游戏 通信 联网 part1 Unity 连接 服务端 客户端

目录

前言

弱联网和强联网游戏

弱联网游戏

强联网游戏

长连接和短连接游戏

短连接游戏

长连接游戏

Socket、HTTP、FTP

Socket

Http/Https

FTP

总结


前言

        网络通信是服务器与Unity应用程序之间进行数据交换和通信的过程,这种通信在游戏开发、实时数据同步、多人游戏等场景中非常常见。对于Unity游戏开发来说,网络通信是实现游戏功能、提升用户体验的关键环节。


弱联网和强联网游戏

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

弱联网游戏

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

弱联网游戏代表:

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

强联网游戏

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

强联网游戏代表:

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


长连接和短连接游戏

短连接游戏

        需要传输数据时,建立连接,传输数据,获得响应,断开连接通信特点:需要通信时再连接,通信完毕断开连接通信方式:1HTTP超文本传输协议、HTTPS安全的超文本传输协议(他们本质上是TCP协议)。

长连接游戏

        不管是否需要传输数据,客户端与服务器一直处于连接状态,除非一端主动断开,或者出现意外情况(客户端关闭或服务端崩溃等)通信特点:连接一直建立,可以实时的传输数据通信方式:TCP传输控制协议 或 UDP用户数据报协议。


Socket、HTTP、FTP

Socket

        网络套接字,是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象一个套接字就是网络上进程通信的一段,提供了应用层进程利用网络协议交换数据的机制我们之后主要要学习的就是Socket网络套接字当中的各种API来进行网络通信主要用于制作长连接游戏(强联网游戏)

Http/Https

        (安全的)超文本传输协议,是一个简单的请求-响应协议,它通常运行在TCP协议之上,它指定了客户端可能发送给服务端什么样的信息以及得到什么样的响应。主要用于制作短连接游戏(弱联网游戏),也可以用来进行资源下载

FTP

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

总结

网络游戏的通信方案大体上可以根据游戏的实际情况分为两种:长连接(强联网)游戏和短连接(弱联网)游戏

1.Socket网络套接字主要用来完成长连接网络游戏需求

2.Http超文本传输协议主要用来完成短连接网络游戏需求(或者资源下载相关)

3.Ftp文件传输协议主要用来完成资源的下载和上传等需求

标签:网络通信,游戏,通信,联网,part1,Unity,连接,服务端,客户端
From: https://blog.csdn.net/weixin_67674686/article/details/143449494

相关文章

  • Unity网络通信(part2.通信必备知识)
    目录前言IPAddress类IPEndPoint类域名解析IPHostEntry类Dns类异步方法异步编程的好处注意事项前言        我们知道想要进行网络通信,进行网络连接,首先我们需要找到对应设备,IP和端口号是定位网络中设备必不可少的关键元素。C#中提供了对应的IP和端口相关的......
  • Unity网络开发基础(part4.数据通信模型)
    目录前言数据通信模型分散式集中式分布式C/S模型B/S模型P2P模型总结前言        在Unity网络开发中,数据通信模型是实现客户端与服务端之间数据交换的核心。不同的数据通信模型具有不同的特点和适用场景,选择合适的模型对于实现高效、稳定的数据通信至关重......
  • Unity网络开发基础(part5.网络协议)
    目录前言网络协议概述OSI模型OSI模型的规则第一部分物理层数据链路层网络层传输层第二部分​编辑应用层表示层会话层每层的职能TCP/IP协议TCP/IP协议的规则TCP/IP协议每层的职能TCP/IP协议中的重要协议TCP协议三次握手四次挥手UDP协议TCP与UDP对比总......
  • Unity图片旋转
    Unity图片旋转概述旋转图片的应用场景Unity中旋转图片技术广泛应用于各类游戏和互动体验中,为用户带来生动直观的视觉效果。主要应用场景包括:UI设计:旋转按钮、指示器等提升界面交互性动画制作:实现角色转身、物品旋转等动作物理模拟:模拟真实世界的旋转运动特......
  • blender动画导出Unity
    在Blender构建一个带有骨骼的模型为根骨骼(Root)构建动画导出FBX文件这里我是用了个插件,BetterFBXImport注意导出时,要将动画设置在第1帧,即小球在原点位置,不然导出后的FBX的原点会跑歪导入进Unity,设置一下根骨参数动画参数调整注意这3个选项是询问你,是否将旋转,X/Y/Z......
  • 【Unity魔法音效包】SPELLS MAGIC 1 SOUND FX PACK 施法、技能释放、法术命中
    SPELLSMAGIC1:SOUNDFXPACK是UnityAssetStore上的一个音效包,专为奇幻类游戏中的魔法和法术效果设计。该插件提供了丰富的魔法音效,适用于施法、技能释放、法术命中、环境音效等场景。该音效包旨在帮助开发者提升游戏中的法术表现力,使玩家在施展魔法时获得更强的沉浸感......
  • unity3d————坐标转换(世界转本地)
    this.transform.InverseTransformPoint1. 世界坐标系与局部坐标系世界坐标系:Unity3D中的全局参考框架,所有游戏对象的位置、旋转和缩放都是相对于这个框架来定义的。局部坐标系:每个游戏对象都有自己的局部坐标系,这个坐标系是相对于该游戏对象的位置、旋转和缩放来定义的。2......
  • unity3d——Time
    在Unity3D中,Time类是一个非常重要的工具类,它提供了一系列与时间相关的属性和方法,帮助开发者在游戏中实现各种时间相关的操作。以下是一些Time类常用的方法及其示例:一、常用属性Time.time含义:表示从游戏开始到现在的时间,以秒为单位。该时间会随着游戏的暂停而停止计算。示例......
  • unity3d——Vector3
    在Unity3D中,Vector3是一个非常重要的结构体,用于表示三维空间中的位置和方向。以下是关于Vector3的一些关键知识点:一、Vector3的基本概念和属性定义:Vector3是一个包含三个浮点数的结构体,分别代表X、Y和Z轴上的分量。它用于描述具有大小和方向两个属性的物理量,如速度、加速度......
  • Unity——删除一个DontDestroyOnLoad的物体
    文章目录前言一、示例前言在Unity中,如果你想要删除一个被标记为DontDestroyOnLoad的GameObject,你可以通过调用Destroy方法来实现。但是由于DontDestroyOnLoad会在场景切换时保持对象不被销毁,你需要先取消这个标记,然后再销毁它。一、示例usingUnityEngine;publ......