unity学习(24)——客户端与服务器合力完成注册功能(6)整体逻辑总结——典中典

回顾一下注册过程的整体逻辑:一共分为 步。之后的所有网络操作其实都大同小异。

客户端上:

1.(框架)canvas对象上挂着NetWorkScript,利用socket建立网络连接的机制,利用BeginReceive和ReceiveCallBack,不断循环接受来自服务器的数据包

2.(具体)sendMessage函数的作用是向服务器单次发送数据包,目前是在点击"登录按钮"和"注册按钮"时分别使用。

3.(框架)canvas对象上挂还着MessageManager,利用Update函数的特殊机制,不断循环分类处理客户端内部消息( 存放在一个list上,产生内部消息**)**。

技巧:vs可以通过"查找所有引用"功能,来快速把握项目中函数所起到的作用。

4.(具体)内部消息存放在一个list上,产生内部消息,通过c#自带的Add函数,不断增加内部消息

5.(衔接)readMessage函数,把数据包转换成内部消息,数据包和内部消息的结构是一样的。

服务器上:

6.main中start设置打开的端口号->ServerStart.start->AcceptCallBack,循环进行监听,可以同时与多个用户建立连接(通过AcceptCallBack)。

7.每个用户在建立连接后将创建 一个特定的Session (自定义)对象 ,Session对象通过AcceptCallBack,循环从客户端读取信息,并存储在对应的Session的List里面

8.通过Session中自定义的write函数,向服务器发送数据包。

到此为止服务器和客户端的 逻辑 算是有一个整体的架构了。

相关推荐
GeekArch11 小时前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug
weixin_4280053012 小时前
C#调用 AI学习从0开始-第3阶段RAG向量数据库-文档切分与入库第15天
人工智能·学习·c#·向量数据库·rag·qdrant·文档切分与入库
dankokoko14 小时前
一.函数与极限2
学习
知识分享小能手14 小时前
统计学学习教程,从入门到精通,分类数据分析 — 知识点详解(14)
学习·分类·数据分析
菜鸟‍14 小时前
【论文学习】MICCAI 2025 || ARSeg:面向不完整文本提示的鲁棒医学图像指代表达分割
图像处理·学习
三克的油14 小时前
c++算法学习-4
学习
知识分享小能手15 小时前
统计学学习教程,从入门到精通,分类数据分析 — 知识点详解(13)
学习·分类·数据分析
知识分享小能手17 小时前
统计学学习教程,从入门到精通,参数估计 — 知识点详解与公式推导(10)
学习·机器学习·概率论
有Li17 小时前
EvoMDT:用于多癌种结构化临床决策的自进化多智能体系统文献速递/医学智能体前沿
人工智能·学习·分类·文献·医学生
sulikey20 小时前
个人Linux操作系统学习笔记11 - 环境变量
linux·笔记·学习