ET框架---LocationProxyComponent学习笔记

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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值