LocationProxyComponent
请大家关注我的微博:@NormanLin_BadPixel坏像素
public IPEndPoint LocationAddress;
public int AppId;
我们看到,这里存放了IP地址跟服务器AppId。这很可能是一个存放并且供别人识别服务器地址的组件。
不过,
this.LocationAddress = startConfig.GetComponent<InnerConfig>().IPEndPoint;
至于InnerConfig内存放的地址到底指向哪,不懂不懂。InnerConfig是一个很简单的类,大家自己看一下。
NetInnerComponent
我们之前有学过NetOuterComponent,跟NetInnerComponent很像,那Inner有什么不同呢?最重要的,Inner没有订阅Awake跟Update方法,也就是说Inner起到的作用更多的是创建Session,而不是更新Session。
2018/4/12 对不起我傻逼了,我尽然肤浅地以为NetInnerComponent只有这么点功能,大家随我去另一个笔记。(它在热更的程序集里还有扩展方法T T)
public readonly Dictionary<IPEndPoint, Session> adressSessions = new Dictionary<IPEndPoint, Session>();
大胆猜测,Inner应该是存放与其他服务所在服务器的对话信息的组件。ET既然是分布式的服务框架,那一定会有服务器与服务器之间的通信,还有服务器与客户端的通信,而这个,很可能就是服务器与服务器之间的通信,翻译过来也像嘛哈哈。
虽然不知道猜的对错,但总比毫无头绪的好。之后再验证我们的想法,现在,我们就认为NetInnerComponent的作用就是这个。
adressSessions就是存放与其他服务所在服务器回话信息的字典。并且通过Get方法进行修改。
/// <summary>
/// 从地址缓存中取Session,如果没有则创建一个新的Session,并且保存到地址缓存中
/// </summary>
public Session Get(IPEndPoint ipEndPoint)
{
if (this.adressSessions.TryGetValue(ipEndPoint, out Session session))
{
return session;
}
session = this.Create(ipEndPoint);
this.adressSessions.Add(ipEndPoint, session);
return session;
}