Netty中的引导类

把书读薄(Netty In Action 第八章)

Bootstrap类是干什么用的?

Bootstrap是用来组织Netty的各个结构(pipeline,handler,eventloop),并使他们运行起来的类结构。分成两块,一个是客户端引导类Bootstrap,只用1个channel来处理所有的网络交互,另一个是服务端的ServerBootstrap,它提供一个父channel来接受客户端的请求,然后父channel创建多个子channel来用于的通信

这里写图片描述

Netty可以如何来支撑一个代理服务器,接收客户端请求的同时,又调用自己内部的服务?

这种业务场景首选需要一个服务器用于接收请求,同时新建一个客户端来向下游发起请求,Netty版的实现可以通过共享eventLoop来实现线程公用,既不需要创建额外的线程也不需要在接受请求的子channel和客户端channel之间交互数据时的上下文切换

这里写图片描述

这中类型解决方案Netty一般准则是复用eventLoop

如何一次添加多个ChannelHandler?

自定义继承ChannelInitiallizer,重载它的initChannel方法获取pipeline,然后调用addLast等一些列方法来一个一个添加自己的handler

ChannelOption是干什么的?

配置channel设置项用,当作用于引导时,它将适用于当前引导所创建的所有channel

如果要在netty的生命周期之外使用相关属性和数据,可以怎么做?

使用AttributeMap和AttributeKey,他们可将任何类型的数据项与客户端和服务端的channel相关联

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值