ET框架学习——消息系统之六

36 篇文章 2 订阅
22 篇文章 5 订阅

       本篇讲解下NetworkComponent组件,框架在初始化的时候,挂载的是NetOuterComponent组件,该组件继承自NetworkComponent组件,内部指定了使用了网络协议为TCP。

  • NetworkComponent

      Dictionary<long, Session> sessions字典,存放的是使用到的和Channel相关的Session对象。 另外还有IMessagePacker对象和IMessageDispatcher对象。IMessagePacker类用于对消息协议的包装,是一个接口。IMessageDispatcher类是用于派发协议的接口。

       Awake方法会根据NetworkProtocol参数的不同,创建相应的AServer对象。NetOuterComponent组件有接通AwakeLoadUpdate事件,会调用到这里的Awake方法,并且创建IMessagePacker对象和IMessageDispatcher对象。

      后面有一些方法都是围绕sessions字典展开的,包括获取,删除(被删除的Session对象会执行Dispose方法),添加(添加的Session对象会执行Start方法)。

      Update方法会执行Server的Update方法。 

  • 总结

     Session是属于应用层  Channel是通信层(KCP,TCP,WEBSOCKET)。Channel断了新建一个,Session不变就还是同一个客户端。为了实现断线重连这种需求 一般都需要在通信层上封装一套Session机制 以保存应用的一些连接信息。它门一般都会把Socket功能拆成2部分( 一个是Server 负责创建管理socket 一个是Channel也叫Peer 负责数据在多个Socket中的传输)。

    后面会先放一放ET,先去补一下unity的网络开发,然后再来理一下ET部分的网络,写个总结篇。还是太菜了。。(手动大哭)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值