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