(文末有白嫖惊喜噢!)
前言
通过java进行网络编程,netty可以提高网络通信的开发效率的同时大大提高网络通信的效率。下面来看下如何使用netty进行高效编程。
引入依赖

netty3和netty4在编程api上有一定的区别,本篇是通过netty4进行实践的。
服务端句柄对象io.netty.bootstrap.ServerBootstrap
netty服务端和客户端的创建都是依赖于Bootstrap句柄对象,下面我们看下服务端是如何通过ServerBootstrap创建服务的。

大家去看源码就可以知道上面都是在初始化ServerBootstrap对象的属性:
1、io.netty.bootstrap.ServerBootstrap#group(io.netty.channel.EventLoopGroup, io.netty.channel.EventLoopGroup)第一个参数是用于接收请求的EventLoopGroup,第二个参数是处理请求的EventLoopGroup。
2、io.netty.bootstrap.AbstractBootstrap#channel用于初始化channelFactory,channel创建为NioServerSocketChannel的类型。
3、io.netty.bootstrap.AbstractBootstrap#localAddress(java.net.SocketAddress)这个没什么好说的设置监听的地址。
4、io.netty.bootstrap.ServerBootstrap#childHandler数据流的handler处理器,上面我们设置了四个handler,分别有数据流出和流进是待处理的handler链。
5、上面都是在初始化句柄接下来,serverBootstrap.bind().sync()同步开启服务。
客户端句柄对象io.netty.bootstrap.Bootstrap

客户端句柄初始化相对来说简单,初始化处理EventLoopGroup,channel factory,handler处理链,最后connect就可以连接到netty的服务端了。
handler实现
1、NettyEncoder

2、NettyDecoder

传输对象的encode和decode都依赖于自定义的NettyCommand进行定义。
3、EchoServerHandler

前言
通过java进行网络编程,netty可以提高网络通信的开发效率的同时大大提高网络通信的效率。下面来看下如何使用netty进行高效编程。
引入依赖

netty3和netty4在编程api上有一定的区别,本篇是通过netty4进行实践的。
服务端句柄对象io.netty.bootstrap.ServerBootstrap
netty服务端和客户端的创建都是依赖于Bootstrap句柄对象,下面我们看下服务端是如何通过ServerBootstrap创建服务的。

大家去看源码就可以知道上面都是在初始化ServerBootstrap对象的属性:
1、io.netty.bootstrap.ServerBootstrap#group(io.netty.channel.EventLoopGroup, io.netty.channel.EventLoopGroup)第一个参数是用于接收请求的EventLoopGroup,第二个参数是处理请求的EventLoopGroup。
2、io.netty.bootstrap.AbstractBootstrap#channel用于初始化channelFactory,channel创建为NioServerSocketChannel的类型。
3、io.netty.bootstrap.AbstractBootstrap#localAddress(java.net.SocketAddress)这个没什么好说的设置监听的地址。
4、io.netty.bootstrap.ServerBootstrap#childHandler数据流的handler处理器,上面我们设置了四个handler,分别有数据流出和流进是待处理的handler链。
5、上面都是在初始化句柄接下来,serverBootstrap.bind().sync()同步开启服务。
客户端句柄对象io.netty.bootstrap.Bootstrap

客户端句柄初始化相对来说简单,初始化处理EventLoopGroup,channel factory,handler处理链,最后connect就可以连接到netty的服务端了。
handler实现
1、NettyEncoder

2、NettyDecoder

传输对象的encode和decode都依赖于自定义的NettyCommand进行定义。
3、EchoServerHandler
