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()结果是否为真确认是否连接成功,不成功则重连。成功则进行登录访问鉴权等操作

 

posted @ 2020-07-07 17:26  cxxwode  阅读(389)  评论(0)    收藏  举报