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

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

相关推荐
LuminousCPP1 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
魔法阵维护师1 小时前
从零开发游戏需要学习的c#模块,第十四章(保存和加载)
学习·游戏·c#
_李小白2 小时前
【android opencv学习笔记】Day 17: 目标追踪(MeanShift)
android·opencv·学习
一只机电自动化菜鸟2 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
2301_818730563 小时前
numpy的学习(笔记)
学习·numpy
GHL2842710903 小时前
Logon failed, use ctrl+c to cancel basic credential prompt
学习·prompt
共享家95273 小时前
Langchain的学习(二)
学习·langchain
victory04313 小时前
agent 学习路径解析 学习资源分享
学习
咸甜适中5 小时前
rust语言学习笔记Trait(八)Iterator(迭代器)
笔记·学习·rust
华为云开发者联盟5 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道