一、概述
前几天接触了一个netty学习视频,想跟着学学,视频里是netty5.0+,但是网上没有下载到jar,官网也没有,听说是取消了5.0被撤了,于是在官网下载了netty4.1,跟着案例做做。
从之前的BIO 到NIO ,再到aio,再到netty框架,经历了阻塞 ,同步非阻塞 异步非阻塞的网络编程,netty提供了一个异步的、基于事件驱动的网络应用程序框架,非常简单。
二、Netty的helloworld案例:
首先到netty官网上下载netty的jar,初体验级别的直接下载 all in one就ok啦。
然后创建server端和client端。
1、server端
public class Server {
public static void main(String[] args) throws Exception {
//开启第一个线程用于接收客户端连接
EventLoopGroup bossGroup = new NioEventLoopGroup();
//第二个线程组用于实际的业务处理
EventLoopGroup workGroup = new NioEventLoopGroup();
try{
ServerBootstrap sbs = new ServerBootstrap();
sbs.group(bossGroup,workGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel sc) throws Exception {
// TODO Auto-generated method stub
ChannelPipeline cp = sc.pipeline();
//以"/n"为结尾分割的解码器
cp.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDel