netty学习随笔

这段时间在做联网,并且学习了下netty框架,下面是学习过程中一些随笔,比较乱.

服务端三步骤循环中netty使用处:
前提:服务配置以及初始化已经完成(服务开启,消息的收发维护)
循环:解码请求(转码,byte[] to String or int)----业务逻辑处理----编码事件
解码请求:netty线程池中负责处理一个个.相当于已有的"request消息队列".          __实现一个类,继承一个OneToOneDecoder
业务逻辑处理:..暂时以同一逻辑处理业务,需要的时候分块.   __实现一个类,继承一个Handler
编码事件:现有的是"responel消息队列",    __实现一个类,继承一个OneToOneEncoder

普通socket网络结构:
客户端发送请求------socket accept相应个数的socketThread对象-----给已经配置好的work线程池处理这些socketThread-----业务逻辑处理-----下发事件

netty网络结构:
客户端发送请求------BootStrap生成相应个数的Channel对象-----Channel传递ChannelHandler给对应的ChannelPipeline----ChannelHandler被交给准备好的ThreadPool来处理-----业务逻辑处理-------下发事件

重要类,接口等理解:
Channel:  一个请求开启一个"Channel". 相当于一个"socket线程对象".

ChannelPipeline:过滤器链模式的请求处理"过程",每个过滤器实现了ChannelHandler接口,搭载ChannelHandler流,一个ChannelPipeline可以同时承载多个ChannelHandler.
相当于处理socket线程体的work线程体.    通过Channels.pipeline()实现.

ChannelHandler:事件流,事件体.相当于一个socket.accpet()的socket线程体

ChannelEvent:事件操作器? 这个channel所发生的事件 ,  针对Channel,Handler,Expection等进行各种操作,  比如wirte(), getmessage().

ExecutionHandler:work线程池?. 通过ChannelPipeline来生成,

ChannelFuture:就是一个channel干完某件事之后干什么事

你可能感兴趣的:(框架,socket)