跟诸子学游戏 学习服务器4

学习ET(https://github.com/egametang/ET)框架需要明白的概念:

线程间的通信:SynchronizationContext     https://www.cnblogs.com/lzxianren/p/SynchronizationContext.html

程序集引用: https://blog.csdn.net/zhenghongzhi6/article/details/78874580

反射机制,mono跨平台等

目前我学习这个服务器需要的东西如下:

VisualStudio 2017:选择的组件如下

VS1
VS2
VS3

  Unity3d2018(破解版)我也支持正版,但是太贵了,比我工资都高,实在支持不起来。请自行下载,console pro 3挺好用,推荐给大家

U3D1

mongodb数据库 可视化工具 studio 3T     https://www.mongodb.com/download-center/v2/cloud?from=dcv1    请自行下载

https://github.com/egametang/ET 请自行下载ET框架。

新建场景
新建预制体
前端代码复制UILogin中的代码


添加UI类型
后端代码添加协议在ET-master\Proto文件夹下
打开服务器代码1
打开服务器代码2

连接服务器正确姿势:

c#-mongodb连接出错:MongoDB.Driver.MongoAuthenticationException: Invalid credentials for database...

原因:可能没有按照正确的方式写链接字符串

连接mongodb字符串:

(1)需要用户名密码验证的:mongodb://uname:pwd@127.0.0.1:27017  

uname为用户名,pwd为密码。

(2)不需要用户名密码验证的:mongodb://127.0.0.1:27017

在,unity下的Tool工具下的命令行工具选择LocalAllServer.txt   

配置服务器


服务器登录回调代码

做好以上,ET框架已入门

ps:①:微软的API 在一个类中的方法一般以 xxxCompleted 为模板的方法,是一个delegate,需要 += method 操作的,一般异步完成之后回调这个方法,这样的模式称之为基于事件的模式。②:SynchronizationContext ctx = SynchronizationContext.Current;一个线程一个SynchronizationContext 里面有send/post方法,可以在异步线程方法中调用send/post回调到SynchronizationContext 所在的线程执行。如果是基于多线程并发执行之后,需要对结果做排序处理,则要对send/post进行重写,在里面对结果重新排序,将事件封装在集合里面,在外部一直调用集合里面的事件,调用之后则移除事件,使用ConcurrentQueue安全队列最好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容