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函数,向服务器发送数据包。

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

相关推荐
袁小皮皮不皮8 小时前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
装不满的克莱因瓶9 小时前
【自动驾驶领域】学习 Cityscapes 数据集——城市街景语义理解的标准基准
人工智能·pytorch·python·深度学习·学习·机器学习·自动驾驶
清辞8539 小时前
产品经理需求推进流程
大数据·深度学习·学习·产品经理
YM52e10 小时前
鸿蒙PC ArkTS 声明合并问题深度解析与最佳实践
学习·华为·harmonyos·鸿蒙·鸿蒙系统
海兰11 小时前
【实用程序】电商销售分析仪表盘 — 从零搭建一个AI参与的全栈数据洞察系统
人工智能·学习·算法
ken223211 小时前
在 Libreoffice Calc中输入自定义表情字符时,需要保存之后,才能正常显示
学习
zwenqiyu11 小时前
P5283 [十二省联考 2019] 异或粽子题解
c++·学习·算法
编程圈子11 小时前
电机驱动开发学习2. 直流无刷电机工作原理
驱动开发·学习
MartinYeung512 小时前
[论文学习]大型语言模型(LLM)安全与隐私-基于善、恶、丑的深度分析
学习·安全·语言模型
什仙12 小时前
Mathcad Prime 的教程资料
学习·工具