Bootstrap类提供的API(包含也包含继承自AbstractBootstrap的):
| 名称 | 描述 |
|---|---|
| group(EventLoopGroup) | 设置用于处理channel所有事件的EventLoopGroup |
| channel(Class<? extends C>) channelFactory(ChannelFactory<? extends C>) |
channel()方法指定了Channel的实现类,如果该实现类没提供默认的构造函数,可以通过调用channelFactory()指定一个工厂类,它将会被bind()方法调用 |
| localAddress(SockerAddresss) | 指定Channel应该绑定到的本地地址,如果没有指定,则将由操作系统创建一个随机的地址,或者也可以通过bind()或者connect()方法指定localAddress |
| option(ChannelOption |
设置ChannelOption,将其被应用到每个新 创建的Channel的ChannelConfig,这些选项将会通过bind()或者connect()方法设置到Channel,不管哪个先被调用,这个方法在Channel已经被创建后再调用将不会有任何效果。支持的ChannelOption取决于使用的Channel类型 |
| attr(Attribute |
指定新创建的Channel的属性值,这些属性值是通过bind()或者connect()方法设置到Channel的,具体取决于谁先被调用,在Channel被创建后不会有任何的效果 |
| handler(ChannelHandler) | 设置将被添加到ChannelPipeline以接收事件通知的ChannelHandler |
| clone() | 创建一个当前Bootstrap的克隆,其具有和原始的BootStrap相同的设置信息,是一个浅拷贝 |
| remoteAddress(SocketAddress) | 设置远程地址,或者可以通过connect()方法来指定它 |
| connect() | 连接到远程节点并返回一个ChannelFuture,其将会在连接操作完成后接收到通知 |
| bind() | 绑定Channel并返回一个ChannelFuture,其将会在绑定操作完成后接收到通知,在哪之后必须调用connect()方法来建立连接 |
引导客户端
Bootstrap类被用于客户端或者使用了无连接协议的应用程序中创建Channel。
- Bootstrap类会在bind()方法被调用后创建一个新的Channel,在这之后将会调用connect()方法以建立连接,这里创建的Channel主要作用是服务器侦听端口上的远程连接的方法。
- 在connect()方法被调用后,Bootstrap类将会创建一个新的Channel,该Channel主要作用于与远程连接的通信
Channel和EventLoopGroup的兼容性

OIO和NIO都有不同的EventLoopGroup的实现,不同的前缀不能混合使用,混合使用会导致“IllegalStateException”异常。
