ET杂记--内网组件NetInnerComponent

NetInnerComponent

1.MessagePacker采用MonoPacker序列化与反序列化数据。

2.消息分发器InnerMessageDispatcher

3.APP类型根据配置得到

Awake的时候,会分配一个Service(这里传入的TCP,所以建立一个TService,TService内部有一个socket用来接收监听消息,并建立连接,然后交给channel(具体可以去了解下socket的服务器监听方式)

ET杂记--内网组件NetInnerComponent

4.通过地址获得一个session:

ET杂记--内网组件NetInnerComponent

内部流程:(1)通过上面建好的TServiece建立一个TChannel,TChannel内部会建立一个Socket,通过这个收发消息进行处理并向上层转发,(2)然后通过组件工厂创建带父对象的Session,并将创建好的channel传进去处理,(3)绑定一些channel的委托到session上,这样就能通过session收发消息(调用或委托channel)。

ET杂记--内网组件NetInnerComponent

ET杂记--内网组件NetInnerComponent

ET杂记--内网组件NetInnerComponent

ET杂记--内网组件NetInnerComponent

ET杂记--内网组件NetInnerComponent

 

5.然后收发消息,通过字节流头部获取opcode号,获得对应的协议数据类,然后通过MessagePacker进行序列化与反序列化。

 

对象转成数据流:

ET杂记--内网组件NetInnerComponent

数据流转成对象

ET杂记--内网组件NetInnerComponent

 

最后根据协议类型标记,交给转发器进行处理转发