找回密码
 立即注册
查看: 456|回复: 0

Unity3D框架设计:如何设计网络框架

[复制链接]
发表于 2023-3-7 13:07 | 显示全部楼层 |阅读模式
前言

在Unity框架设计中与游戏服务器对接的网络框架也是非常重要的一个模块,本文給大家分享如何来基于Unity来设计一个网络框架, 主要的讲解以下几个点:
对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!


TCP半包粘包, 长连接与短连接, IO阻塞


Tcp Socket与UDP Socket 的技术方案
了解完网络的一些基本概念以后,接下来看下使用TCP/UDP Socket用哪些技术方案。Unity其实是作为网络的客户端,而客户端只要去连接服务端与服务器通讯就可以了,不用像服户端同时处理N个客户端的数据传送。所以客户端Socket非常的简单。Unity客户端的Socket我们用哪个插件呢?其实这种完全不需要用什么插件,直接使用OS为我们提供的Socket的相关API就可以了。


Unity的序列化与反序列化技术方案


TCP的封包与拆包


基于http的短连接技术方案


Unity 网络框架设计与实现原理
铺垫了这么多,我们直接来上Unity网络框架的架构设计结构图,供大家参考。


这里接收数据的时候,采用多线程来做,收到数据后,进行拆包与反序列化,得到数据对象后,放事件队列,游戏主线程从事件队列里面获取网络事件,然后进行处理。发送数据出去的时候,我们在游戏主线程调用异步的网络Send函数,避免IO阻塞。注意好这些点,就可以设计出一个很好的网络框架。
本节分享就到这里了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 16:20 , Processed in 0.090920 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表