天天看點

2.Netty架構入門案例總結

總結概述

歸納

  1. 在每個server端都是使用一樣的模闆代碼,根據業務場景配置一下參數。具體的處理邏輯都是寫在handler中。
  2. channel的write方法并沒有給你發資料,flush之後才會發出。是以正式開發中使用內建方法:writeAndFlush(buf)。
  3. 如果寫代碼時出現了write方法,netty會自動幫你釋放資源,不需要自己釋放。
  4. 單純的讀資料就得用最佳實踐。finally裡面釋放資源。
  5. 有讀有寫的邏輯,也不用釋放msg。
  6. 因為寫入資料是異步的,并不知道什麼時候寫完,是以有的業務需要加一個監聽。如下:
final ChannelFuture f = ctx.writeAndFlush(time); // (3)
        f.addListener(new ChannelFutureListener() {
            @Override
            public void operationComplete(ChannelFuture future) {
                assert f == future;
                ctx.close();
            }
        }); // (4)      
  1. 監聽如果是關閉通道的話有簡寫的形式。借此實作長連接配接、短連接配接。就是這句話的差別。
f.addListener(ChannelFutureListener.CLOSE);