ServerBootstrap 类提供的方法
| 名称 | 描述 |
|---|---|
| group | 设置ServerBootstrap要用的EventLoopGroup,这个EventLoopGroup将用于ServerChannel和被接受的子Channel的IO处理 |
| channel | 设置将要被实例化的ServerChannel类 |
| channelFactory | 如果不能通过默认的构造函数创建Channel,那么可以提供一个ChannelFactory |
| localAddress | 指定ServerChannel应该绑定到的本地地址,如果没有指定,将由操作系统使用一个随机地址,或者可以通过bind()方法来指定该localAddress |
| option | 指定要应用到新创建的ServerChannel的ChannelConfig的ChannelOption。这些选项将会通过bind()方法设置到Channel,在bind()方法被调用之后,设置或者改变ChannelOption都不会有任何的效果,所支持的ChannelOption取决于所使用的Channel类型 |
| childOption | 指定当子Channel被接受时,应用到子Channel的ChannelConfig的ChannelOption,所支持的ChannelOption取决于所使用的Channel的类型 |
| attr | 指定ServerChannel上的属性,属性将会通过bind()方法设置给Channel,在调用bind()方法之后改变它们将不会有任何的效果 |
| childAttr | 将属性设置给已经被接受的子Channel。接下来的调用将不会有任何的效果 |
| handler | 设置被添加到ServerChannel的ChannelPipeline中的ChannelHandler。更多常用的方法参见childHandler() |
| childHandler | 设置将被添加到已被接受的子Channel的ChannelPipeline中的ChannelHandler。handler()方法和childHandler()之间的区别:前者所添加的ChannelHandler由接受子Channel的ServerChannel处理,而childHandler()方法所添加的ChannelHandler将由已被接受的子Channel处理,其代表一个绑定到远程节点的套接字 |
| clone | 克隆一个设置和原始的ServerBootstrap相同的ServerBootstrap |
| bind | 绑定ServerChannel并且返回一个ChannelFuture,其将会在绑定擦偶作完成后接收到成功或失败的通知 |
引导服务器
上图中列出了一些造Bootstrap类中不存在的方法,比如childHandler()、childAttr()、childOption(),这些调用支持特别应用于服务器应用程序的操作。具体来说ServerChannel的实现负责创建子Channel,这些子Channel代表了已被接受的连接,因此负责引导ServerChannel的ServerBootstrap提供了这些方法,以简化设置应用到已被接受的子Channel的ChannelConfig任务。
ServerBootstrap在bind()方法被调用时创建了一个ServerChannel,并且该ServerChannel管理了多个子Channel
