这段时间在做联网,并且学习了下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干完某件事之后干什么事
服务端三步骤循环中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干完某件事之后干什么事