先囉嗦兩句,若是你還不知道Netty是作什麼的能作什麼。那能夠先簡單的搜索瞭解一下。我只能說Netty是一個NIO的框架,能夠用於開發分佈式的Java程序。具體能作什麼,各位能夠儘可能發揮想象。技術,是服務於人而不是侷限住人的。java
Netty的簡介和下載可參考:《開源Java高性能NIO框架推薦 – Netty》。注意,此時的最新版已經爲3.5.2.Final。程序員
若是你已經萬事具有,那麼咱們先從一段代碼開始。程序員們習慣的上手第一步,天然是"Hello world",不過Netty官網的例子卻恰恰拋棄了"Hello world"。那咱們就本身寫一個最簡單的"Hello world"的例子,做爲上手。bootstrap
/** * Netty 服務端代碼 * * @author lihzh * @alia OneCoder * @blog http://www.coderli.com */ public class HelloServer { public static void main(String args[]) { // Server服務啓動器 ServerBootstrap bootstrap = new ServerBootstrap( new NioServerSocketChannelFactory( Executors.newCachedThreadPool(), Executors.newCachedThreadPool())); // 設置一個處理客戶端消息和各類消息事件的類(Handler) bootstrap.setPipelineFactory(new ChannelPipelineFactory() { @Override public ChannelPipeline getPipeline()throws Exception { return Channels.pipeline(new HelloServerHandler()); } }); // 開放8000端口供客戶端訪問。 bootstrap.bind(new InetSocketAddress(8000)); } private static class HelloServerHandler extends SimpleChannelHandler { /** * 當有客戶端綁定到服務端的時候觸發,打印"Hello world, I'm server." * * @alia OneCoder * @author lihzh */ @Override public void channelConnecte( ChannelHandlerContext ctx,ChannelStateEvent e) { System.out.println("Hello world, I'm server."); } } }