1.Netty入站和出站机制
1.1.基本介绍
1>.netty的组件设计: Netty的主要组件有Channel、EventLoop、ChannelFuture、ChannelHandler、ChannelPipe等;
2>.ChannelHandler充当了处理入站和出站数据的应用程序逻辑的容器.
例如,实现ChannelInboundHandler接口(或ChannelInboundHandlerAdapter),你就可以接收入站事件和数据,这些数据会被业务逻辑处理.当要给客户端发送响应时,也可以从ChannelInboundHandler冲刷数据.业务逻辑通常写在一个或者多个ChannelInboundHandler中.ChannelOutboundHandler原理一样,只不过它是用来处理出站数据的;
3>.ChannelPipeline是一个提供/管理了ChannelHandler链的容器.
以客户端应用程序为例,如果事件的运动方向是从客户端到服务端的,那么我们称这些事件为出站的,即客户端发送给服务端的数据会通过pipeline中的一系列ChannelOutboundHandler,并被这些Handler处理,反之则称为入站的;
说明:
①.客户端和服务器端都有channelpipeline,里面都有很多的channelhandler;
②.客户端:数据写到socket(socketchannel),通过pipeline传输到服务器端,为出站事件;数据通过pipeline传输到客户端,再从socket(socketchannel)读取,为入站事件;