![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ET框架个人学习笔记
文章平均质量分 69
Norman_Lin
这个作者很懒,什么都没留下…
展开
-
ET框架---UnitComponent学习笔记
UnitComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素跟管理Player的PlayerComponent很像,不过这里管理的是Unit。“装置”?Unitpublic sealed class Unit: Entity{ public VInt3 IntPos; public GameObject Game...原创 2018-04-04 20:12:20 · 1147 阅读 · 0 评论 -
ET框架---PlayerComponent学习笔记
PlayerComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素public Player MyPlayer;private readonly Dictionary<long, Player> idPlayers = new Dictionary<long, Player>();看到这两段,大家应该就能猜出来这个组...原创 2018-04-04 20:12:00 · 752 阅读 · 0 评论 -
ET框架-服务端-NetOuterComponent学习笔记
NetOuterComponent请大家关注我的微博:@NormanLin_BadPixel坏像素namespace Model{ public class NetOuterComponent: NetworkComponent { }}空空如也。有了之前的教训,这次我特意去找了找有没有扩展方法。果然不出所料。public static cl...原创 2018-04-17 16:56:18 · 788 阅读 · 0 评论 -
ET---TChannel学习笔记
TChannel请大家关注我的微博:@NormanLin_BadPixel坏像素3.0的TChannel的变化不大,大家可以放心观看。private readonly TcpClient tcpClient;好的,保存了一个TCP客户端连接。然后,我们又看到新东西了,TBuffer,而且这个也很长,有必要再分个P,希望大家能记得我们一起走过的路程。ET—TBuffer学习笔...原创 2018-03-29 12:13:09 · 1104 阅读 · 0 评论 -
ET---Circularbuffer学习笔记
Circularbuffer学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素因为这是LandlordsCore作者3.0对TBuffer进行的修改,如果有兴趣的话,大家可以去看看我之前写的TBuffer学习笔记,里面可能会比较详细。 而且这篇里如果有TBuffer里讲过的,我会一笔带过。public int ChunkSize = 8192;priv...原创 2018-03-29 12:02:04 · 577 阅读 · 0 评论 -
ET---TBuffer学习笔记
TBuffer请大家关注我的微博:@NormanLin_BadPixel坏像素3.0已经把TBuffer整合到CircularBuffer。不过建议大家继续看下去吧,毕竟作者的思路大致是没变化的,这篇我可能讲的比较详细。(毕竟我花心思写了T_T)大致浏览了一下,难道这里用到了类似这篇文章提到的技术?(需要安全上网工具)我只是随便一猜,大家还是继续看代码吧。public co...原创 2018-03-29 12:00:52 · 827 阅读 · 0 评论 -
ET---Session3.0学习笔记(与2.0的差异)
Session3.0学习笔记(与2.0的差异)请大家关注我的微博:@NormanLin_BadPixel坏像素这里是2.0的传送门首先我们看到,与2.0相比,多了Awake和Start的注册。虽然AWakeSystem和StartSystem也是3.0新加的,不过我们不难猜出来,这个跟之前的Event应该差不多。private readonly Dictionary&l...原创 2018-03-29 11:59:34 · 783 阅读 · 0 评论 -
ET---PacketParser3.0学习笔记
PacketParser3.0学习笔记(与2.0的差异)请大家关注我的微博:@NormanLin_BadPixel坏像素与2.0相比,3.0把包结构封装成了一个类,着就明文规定了包体的结构,不像之前,包体结构是我们心里规定的。public const int MinSize = 2;public const int OpcodeIndex = 1;public const ...原创 2018-03-29 11:58:46 · 714 阅读 · 0 评论 -
ET框架---DBProxyComponent学习笔记(完善MessageDispatherComponent学习笔记)
DBProxyComponent这个组件跟LocationProxyComponent很像,也是服务器之间通信的组件。而DBProxyComponent应该是跟管理数据库服务的服务器通信的组件。我们看到,在添加该组件的时候会在Awake方法里面获取到数据库服务器所在的IP地址,之后每次代理发送的时候,会通过NetInnerComponent创建跟数据库服务器的会话,并发送请求。我们知道...原创 2018-04-11 19:45:24 · 788 阅读 · 0 评论 -
ET框架---StartConfigComponent学习笔记
StartConfigComponent请大家关注我的微博:@NormanLin_BadPixel坏像素我们发现,这里存了好多的StartConfig,需要特别注意的是,其他的各种设置只有一个,但是MapConfigs跟GateConfigs的设置却是一个链表,说明有多个。我们现在还不知道这些设置是干嘛用的,难道这就是传说中分布式服务器的设置?我们继续看看Awake方法。读取对...原创 2018-04-11 12:03:44 · 760 阅读 · 0 评论 -
ET框架---OptionComponent学习笔记
OptionComponent请大家关注我的微博:@NormanLin_BadPixel坏像素关于这个组件,大家位移需要学的就是,CommandLine的作用。 C#开发的控制台程序,默认接收string[] args参数。如果有多个参数需要输入时,可以按照顺序依次输入;但如果有些参数不是必选的,或者有些参数中间需要有空格比如时间“2016-05-18 24:35:00”,处理...原创 2018-04-11 12:03:18 · 711 阅读 · 0 评论 -
ET框架---LocationProxyComponent学习笔记
LocationProxyComponent请大家关注我的微博:@NormanLin_BadPixel坏像素public IPEndPoint LocationAddress;public int AppId;我们看到,这里存放了IP地址跟服务器AppId。这很可能是一个存放并且供别人识别服务器地址的组件。不过,this.LocationAddress = sta...原创 2018-04-11 12:01:00 · 697 阅读 · 0 评论 -
ET框架---ClientComponent学习笔记
ClientComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素就像作者注释的,这是斗地主客户端自定义全局组件,用于保存玩家本地数据。里面很干净,就只有一个User数据/// <summary>/// 玩家对象/// </summary>public sealed class User : Entity{ ...原创 2018-04-04 20:13:27 · 692 阅读 · 0 评论 -
ET框架---ClientFrameComponent学习笔记
ClientFrameComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素这个,就是帧同步的核心了吧!我们可以把它理解为帧信息的中心管理器,这里会处理所有的帧信息,并把帧内的具体消息转发出去。public int Frame;这个,应该就是记录当前已经更新到第几帧。public Queue<SessionFrameMess...原创 2018-04-04 20:13:58 · 1395 阅读 · 0 评论 -
ET框架---UnityWebRequestAsync学习笔记
UnityWebRequestAsync学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素我们看到,其实这是一个用异步方法调用UnityWebRequest的东西。至于UnityWebRequest是什么东西,大家可以去看看官方文档,如果官方文档看不懂怎么用,那么就去百度谷歌吧。public Task<bool> DownloadAsync(s...原创 2018-04-04 20:14:47 · 1630 阅读 · 0 评论 -
ET框架---AppManagerComponent学习笔记
AppManagerComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素private readonly Dictionary<int, Process> processes = new Dictionary<int, Process>();看来是管理Process的工具。.Net用Process来提供对本地和远程进...原创 2018-04-14 10:58:38 · 424 阅读 · 0 评论 -
ET框架---消息类型浅析
消息类型浅析请大家关注我的微博:@NormanLin_BadPixel坏像素在我写之前,已经有其他人对ET的消息类型做了分析,大家可以先去看一下。ET消息流程。里面对ET消息的类图有很详细的分析。这里,我在讲一下我自己的理解,方便看完后还是一脸懵逼的同学理解。我们先别管那些类,我们先想想,我们需要发送的消息,都是些什么? 1. 客户端发送给服务器的消息 1. 不...原创 2018-04-13 15:15:15 · 1719 阅读 · 0 评论 -
ET框架-服务端-Program学习笔记
Program学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素在写服务端之前,我是先看的客户端代码。而ET框架,服务端和客户端的代码很多都是共用的,这也是ET方便的一点。所以,如果你是直接来看服务端的,希望你对客户端的代码已经有了足够的了解,之前在客户端讲过的代码我会一笔带过。这里是客户端代码学习笔记的入口。 通过LandlordsCore 学习ET框架。...原创 2018-04-18 16:21:15 · 3289 阅读 · 0 评论 -
ET---通过注册登陆请求走一遍简单的消息传输
通过注册登陆请求走一遍简单的消息传输请大家关注我的微博:@NormanLin_BadPixel坏像素//创建登录服务器连接IPEndPoint connetRealmEndPoint = NetworkHelper.ToIPEndPoint(GlobalConfigComponent.Instance.GlobalProto.Address);session = Hotfix.Sc...原创 2018-04-18 16:13:43 · 1419 阅读 · 0 评论 -
ET框架---SessionComponent学习笔记
SessionComponent请大家关注我的微博:@NormanLin_BadPixel坏像素这是一个很简单的组件,当客户端与Gate服务器建立连接,并且登陆成功后会被添加,并保存客户端与Gate服务器之间的会话Session,之后所有请求将通过这个连接发送。之后在客户端可以用以下方法发送消息。SessionComponent.Instance.Session.Send(...原创 2018-04-18 16:09:20 · 917 阅读 · 0 评论 -
ET框架---LocationComponent学习笔记
LocationComponent请大家关注我的微博:@NormanLin_BadPixel坏像素作为程序员,我们对数据,对逻辑是敏感的。看到一段代码,我们很快就能看懂里面的逻辑,数据是怎么变化的。但是,这段代码在整个工作环境中起到了什么作用,我们不能一眼看出来。就像这个组件,里面的数据变化很容易看懂,但是我们不知道这些数据代表了什么。作者也没有注释,我们只能猜测,之后再来验证。...原创 2018-04-12 21:33:43 · 881 阅读 · 0 评论 -
ET框架---ActorMessageDispatherComponent学习笔记
ActorMessageDispatherComponent请大家关注我的微博:@NormanLin_BadPixel坏像素看到这个,我们不禁想起我们先前学习的MessageDispatherComponent。这两者又有什么区别呢?我先粗浅的猜测一下,MessageDispatherComponent调度的是客户端与服务端之间的消息,ActorMessageDispatherCo...原创 2018-04-12 21:32:48 · 490 阅读 · 0 评论 -
ET框架---ActorManagerComponent学习笔记
ActorManagerComponent请大家关注我的微博:@NormanLin_BadPixel坏像素/// <summary>/// 用来管理该服务器上所有的Actor对象/// </summary>public class ActorManagerComponent : Component就如作者所注释的,是用来管理该服务器上所有的Acto...原创 2018-04-12 21:32:17 · 542 阅读 · 0 评论 -
ET框架---NetInnerComponent学习笔记
NetInnerComponent请大家关注我的微博:@NormanLin_BadPixel坏像素我们在LocationProxyComponent学习笔记有简单介绍过NetInnerComponent,在那里我们介绍了NetInnerComponent的一些变量和方法。不过我们忘记了还有热更层的程序集,在热更的程序集里,还有NetInnerComponent的扩展方法。NetIn...原创 2018-04-12 21:31:46 · 744 阅读 · 0 评论 -
ET框架---SessionUserComponent学习笔记
SessionUserComponent请大家关注我的微博:@NormanLin_BadPixel坏像素我们一眼就看到了作者的注释。/// <summary>/// Session关联User对象组件/// 用于Session断开时触发下线/// </summary> public class SessionUserComponent : Com...原创 2018-04-18 15:29:12 · 971 阅读 · 1 评论 -
ET框架---ActorComponent学习笔记
ActorComponent请大家关注我的微博:@NormanLin_BadPixel坏像素/// <summary>/// 挂上这个组件表示该Entity是一个Actor, 它会将Entity位置注册到Location Server, 接收的消息将会队列处理/// </summary>这是作者对这个组件的注释。public IEntityA...原创 2018-04-18 10:36:46 · 1030 阅读 · 0 评论 -
ET---KChannel学习笔记
KChannel学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素有我们之前学习TChannel的经验,这篇的学习应该不会很困难。(先立个Flag)public struct WaitSendBuffer{ public byte[] Bytes; public int Index; public int Length; ...原创 2018-03-29 16:13:41 · 633 阅读 · 0 评论 -
ET框架---BundleDownloaderComponent学习笔记
BundleDownloaderComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素这应该就是热更新的包下载相关的内容了。我们知道,每次我们加载热更新的资源,需要判断本地和服务器的版本,如果本地的版本过低,则需要从服务端重新下载。UnityWebRequestAsync学习笔记。我们来看一下热更新资源版本信息的结构吧。VersionCo...原创 2018-04-04 20:16:08 · 573 阅读 · 0 评论 -
ET框架---DBComponent学习笔记
DBComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素public MongoClient mongoClient;public IMongoDatabase database;public void Awake(){ DBConfig config = Game.Scene.GetComponent<StartConf...原创 2018-04-11 11:59:42 · 1375 阅读 · 0 评论 -
ET框架---DBCacheComponent学习笔记
DBCacheComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素首先它订阅了Awake事件,会在添加该组件的时候调用Awake方法。我们来看看作者对这个组件的定义是什么。/// <summary>/// 用来缓存数据/// </summary>public class DBCacheComponent :...原创 2018-04-11 11:59:16 · 930 阅读 · 0 评论 -
ET框架---MatchComponent学习笔记
MatchComponent请大家关注我的微博:@NormanLin_BadPixel坏像素作者注释到,此为匹配组件。/// <summary>/// 匹配组件,匹配逻辑在MatchComponentSystem扩展/// </summary>public class MatchComponent : Component{ //游戏中匹配...原创 2018-04-16 21:02:33 · 596 阅读 · 0 评论 -
ET框架---HotFix.LandlordsLoginComponent学习笔记
HotFix.LandlordsLoginComponent学习笔记请大家关注我的微博:@NormanLin_BadPixel坏像素通过这个代码,我们终于开始接触具体怎么运用ET框架来运行游戏逻辑了。我们需要在添加这个组件的时候,在Awake方法里进行初始化,所以我们需要订阅Awake事件,这样当我们在AddComponent的时候,就会调用Awake方法。怎么订阅呢?[O...原创 2018-04-09 15:52:29 · 1115 阅读 · 2 评论 -
通过LandlordsCore 学习ET框架
ET框架学习笔记请大家关注一下我的微博 @NormanLin_BadPixel坏像素LandlordsCoreLandlordsCore是ET交流群里的一位大佬用ET框架写的一个联机斗地主的小demo。 这里通过详读源码来学习ET框架。因为是从零开始学习,所以会很繁琐。如果看到已经知道的知识点,请跳过。准备去百度一下游戏服务端,了解一下基础的知识。ET框架Git地...原创 2018-03-26 23:36:13 · 2957 阅读 · 1 评论 -
网络RPC框架学习笔记
网络RPC框架请大家关注我的微博:@NormanLin_BadPixel坏像素首先,大家遇到新的东西,不要不懂装懂,而是乖乖去查资料,去询问大神。谁能用通俗的语言解释一下什么是 RPC 框架?这里是知乎上的大佬们的解释,希望大家耐心看一下啊。这里我贴出一个我觉得通俗易懂的大佬的原文。 作者:洪春涛 链接:https://www.zhihu.com/question...原创 2018-03-26 23:46:18 · 846 阅读 · 0 评论 -
MessageDispatherComponent学习笔记
MessageDispatherComponent请大家关注我的微博:@NormanLin_BadPixel坏像素Demo3.0发布后,对MessageDispatherComponent进行了更新,变化其实不大,只是把HotFix相关的代码移除了,大家自己看一下就好。 2018/4/11对MessageDispatherComponent的实例分析在另外一个笔记里,有兴趣的可以...原创 2018-03-26 23:45:25 · 692 阅读 · 0 评论 -
OpcodeTypeComponent学习笔记
OpcodeTypeComponent请大家关注我的微博:@NormanLin_BadPixel坏像素看代码前,先来猜猜是什么用的,掏出我们的翻译工具。操作码类型?什么鬼?猜不出来。还是去看看吧。好的,注册了Awake方法。private readonly DoubleMap<ushort, Type> opcodeTypes = new DoubleMap<...原创 2018-03-26 23:44:43 · 518 阅读 · 0 评论 -
TimerComponent学习笔记
TimerComponent请大家关注我的微博:@NormanLin_BadPixel坏像素Timerpublic class Timer { public long Id { get; set; } public long Time { get; set; } public TaskCompletionSource<...原创 2018-03-26 23:44:01 · 954 阅读 · 0 评论 -
EventComponent学习笔记
EventComponent请大家关注我的微博:@NormanLin_BadPixel坏像素public static EventComponent Instance;看到这,不用多说了,单例。这么说的话,这个组件是唯一的。private Dictionary<EventIdType, List<IEventMethod>> allEvents;...原创 2018-03-26 23:43:02 · 539 阅读 · 0 评论 -
ET框架---Component列表
请大家关注我的微博:@NormanLin_BadPixel坏像素持续更新中。。。AActorProxyComponentActorMessageDispatherComponentActorManagerComponentAppManagerComponentAllotMapComponentActorComponentBBehaviorTree...原创 2018-03-26 23:39:33 · 2222 阅读 · 1 评论 -
Entity学习文档
Entity请大家关注一下我的微博 @NormanLin_BadPixel坏像素一般来说,一个类的名字就能大概知道这个类是干啥的,比如ObjectEvent,很容易就知道是跟事件相关的。再来看我们今天要学的Entity,意思是实体。有经验的人应该对Entity不陌生(就连我都不陌生了)。这里希望不知道MVC框架的同学先去看一下MVC框架的介绍。我之前也只是了解了一下,也没有深入学习,也...原创 2018-03-26 23:39:03 · 1145 阅读 · 0 评论