看完TService和TChannel发送大部分调用是 由TService提供,然后看看其中AService中的委托和Send是由NetInnerComponent注册的
先看属性,一个服务,一个IMessageDispatcher
然后是Awake,new一个内网消息分发,然后将OnError,OnRead,OnAccept注册到服务回调中,最后加入NetThreadComponent中,这里出现了InnerMessageDispatcher和NetThreadComponent新出来的后面再看
下面看看上面3个注册到服务的回调函数
OnRead,根据信道Id找到当前实体的Session组件,然后利用消息分发分发出去
OnAccept
上面看起来有点懵,回顾一下TService,创建一个TChannel(生成一个id)。然后调用上面OnAccept创建一个Session实体
其他方法
Create, 最终创建一个Session实体, 并且self.Service.GetOrCreate(channelId, ipEndPoint);。AService主要是管理创建AChannel的
Get 获得,如果没有创建一个Session