html登录注册界面模板 bootstrap登录模板实例


1. 前言 本节主要讲解服务端主启动类 ServerBootstrap 的核心 API 的使用 。
2. ServerBootstrap 流程 ServerBootstrap 的用法基本上都是固定的,一般对于新接触 Netty 的同学来说,会觉得这些模板代码比较多,难以理解 。我们主要记住几个核心配置即可 。

    指定线程模型: 通过.group(bossGroup, workerGroup) 给引导类配置两大线程组,这个引导类的线程模型也就定型了 。其中 bossGroup 表示监听端口,accept 新连接的线程组;workerGroup 表示处理每一条连接的数据读写的线程组;指定 IO 模型: 通过.channel(NioServerSocketChannel.class) 来指定 NIO 模型 。如果指定 IO 模型为 BIO,那么这里配置上 OioServerSocketChannel.class 类型即可,通常都是使用 NIO,因为 Netty 的优势就在于 NIO;指定处理逻辑: 通过 childHandler () 方法,给这个引导类创建一个 ChannelInitializer,这里主要就是定义后续每条连接的数据读写,业务处理逻辑;绑定端口号: 调用 bind (80),端口号自定义,不要和其他应用的端口号有冲突即可 。
3. 核心方法方法说明group()用来指定线程模型channel()用来指定 IO 模型handler()用来指定服务端通道需要处理的业务逻辑(了解)childHandler()用来指定客户端通道需要处理的业务逻辑(掌握)attr()给服务端通道绑定自定义属性(了解)childAttr()给客户端通道绑定自定义属性(掌握)option()给服务端通道设置配置(了解)childOption()给客户端通道设置配置(了解)bind()用来绑定端口号
说明:客户端和服务端连接之后,会维持一个 Channel 通道,可以给其指定逻辑处理器和属性配置;当然,服务端启动的时候它也是一个特殊的 Channel 通道 。
在开发当中,需要我们去自定义的方法主要是 childHandler () 和 childAttr () 这两个 。childHandler () 用来绑定业务逻辑器,childAttr () 用来设置 Channel 属性 。比如:绑定用户身份信息 。其它方法的使用相对固定,了解即可 。
4. 核心方法详解 4.1 bind() bind () 主要用来绑定本地端口号 。
实例:
ChannelFuture future=serverBootstrap.bind(80);future.addListener(new GenericFutureListener>() {public void operatio

    猜你喜欢