Java NIO框架Netty教程(一) – Hello Netty

先囉嗦兩句,若是你還不知道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.");         
        }     
    } 
}
相關文章
相關標籤/搜索