目录
一、Netty介绍
1、基本介绍
-
NIO是一个非阻塞的多线程的socket网络通信API
-
每次使用NIO进行网络通信的时候我们都需要自己编写网络交互的服务端、客户端,都要去编写数据的接收、解析、返回等逻辑方法,十分麻烦。基于此,JBOSS就推出了一个可以快速开发高性能、高可靠性的网络服务器和客户端程序的框架-----Netty。
-
Netty说白了就是一个基于NIO的客户、服务器端编程框架,本来需要写很久的客户端和服务端的代码,这里只需要Netty就可以快速、简单的开发出一个实现某种协议的网络应用。
-
Netty版本大致版本分为Netty3.x、Netty4.x和Netty5.x。
2、主要应用
(1)分布式进程通信
像Hadoop、dubbo、akka等具有分布式功能的框架,底层RPC通信都是基于Netty实现的,这些框架版本通常都还在使用Netty3.x。
(2)游戏服务器开发
众所周知,许多网络游戏需要在各个客户端传输网络信息,所以也需要快速搭建客户端与服务端之间的网络交互逻辑。
最新的游戏服务器有部分公司可能已经开始使用Netty4.x和Netty5.x。
二、Netty服务端hello world
主要针对Netty3.x进行讲解,后面逐步衍生到Netty4.x以上
1、导入 pom
<properties>
<!--<netty.version>4.1.41.Final</netty.version>-->
<netty.version>3.10.5.Final</netty.version>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/io.netty/netty-all -->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty</artifactId>
<version>${netty.version}</version>
</dependency>
</dependencies>