对 NetEngine 的一点理解

数据收发流程大概是这样抽象的:
网络数据 <---> ByteBuffer <---> Dispatcher <---> Socket <---> Session <---> Service <---> Application ---> Handler
Dispatcher // Socket 管理器,IOCP 和 EPOLL 实现
Socket      // 负责收发完整报文,即将一个或多个 ByteBuffer 组成 Packet,主要是处理分包和粘包
Session     // 通过协议栈,即 ProtocolStack,对packet做处理
Service      // Session 管理器,同时维护 Packet 的收发线程
Application // 管理多个 Service,同时负责 Service 间的 Packet 转发
Handler     // 负责网络事件的处理逻辑

从分层的角度来讲,Dispatcher 和 Socket 属于“传输层”;Session 和 Service 属于“会话层”;而 Application 和 Handler 则是“应用层”。

你可能感兴趣的:(Engine)