ET服务端框架学习——服务端入口

        ET框架有一个好处就是很多组件在客户端和服务端几乎都是可以通用的。比如EventSystem组件,和在客户端是一样的使用逻辑,具体可以看这篇文章《ET框架学习——EventSystem类》。

        在加载完服务端的HotfixModel的dll后,开始后面就是开始读取服务端的配置,并根据配置加载相应的组件。服务端的配置的读取方法使用的是CommandLine,该类用于读取命令行输入,并且将输入参数解析成Options类,存放在OptionComponent组件里面。这里的参数来自客户端的配置文件,在Config\StartConfig目录下。里面的参数是按照类似json的格式定义的,LocalAllServer.txt定义的内容如下图(我自己写成这样的格式的,方便阅读):

ET服务端框架学习——服务端入口_第1张图片

配置的读取是从客户端猫大写的工具里面读取的,具体在ServerCommandLineEditor类里面。启动服务器的时候,传递的参数如下:

string arguments = $"App.dll --appId={startConfig.AppId} --appType={startConfig.AppType} --config=../Config/StartConfig/{this.fileName}";

ProcessStartInfo info = new ProcessStartInfo("dotnet", arguments) { UseShellExecute = true, WorkingDirectory = @"../Bin/" };

读取完配置后,将配置保存在StartConfigComponent组件里面,该组件在初始化时会根据配置的情况,分门别类将配置内容存进行缓存。接下来就是添加网络相关的组件OpcodeTypeComponentMessageDispatherComponent组件,具体可看这篇文章《ET框架学习——OpcodeTypeComponent组件和MessageDispatherComponent组件》。

        最后就是根据配置的AppType类型,添加对应的组件,这里我选择的是AllServer类型,所有相关组件都会添加,具体可以参看源码。

你可能感兴趣的:(unity,C#,ET框架)