netty客户端
- 1.NioEventLoopGroup
- 2.Bootstrap
- 3.NioSocketChannel
- 4.handler (ChannelInitializer-SocketChannel-
ChannelPipeline-Handler) - 5.msgDecoder, msgEncoder
1.Bootstrap 设置NioEventLoopGroup
2.Bootstrap 设置SocketChannel类型,一般选择NioSocketChannel.class(有三种,nio,oio,epoll socketChannel)
3.Bootstrap 设置handler, 该handler一般为Channel初始化器,继承ChannelInitializer<SocketChannel>,同时实现初始化器的初始化通道方法 initChannel(SocketChannel ch),该
通道方法会调用channel的pipeline方法,然后addLast 方法来新增消息处理器handler,消息发送的编码器,消息接收的解码器,自定义的空闲检查处理器等
3.1. 消息处理handler 一般继承自SimpleChannelInboundHandler或ChannelInboundHandlerAdapter,主要实现read 接口,用来接收消息并处理业务逻辑
3.2.关于消息的编解码器详见该博文,写的很好,基本覆盖大部分通信需求 :https://www.cnblogs.com/AIPAOJIAO/p/10631551.html
4.Bootstrap 调connect方法通过host.port连接服务器,同时添加监听器,自定义的监听器一般继承自ChannelFutureListener,监听器通常会实现operationComplete(ChannelFuture future) 方法,当客户端连接上服务器完成会调用该方法,在该方法里面会通过判断future.isSuccess()结果是否为真确认是否连接成功,不成功则重连。成功则进行登录访问鉴权等操作

浙公网安备 33010602011771号