1. 程式人生 > >Netty5中的4種解碼器

Netty5中的4種解碼器

TCP以流的方式傳輸資料,上層的應用協議為了對訊息進行區分,經常採用的方式有如下4種:

1、訊息長度固定,累計讀取的長度總和為約定的定長長度後,就認為讀到了一個完整的訊息;將計數器置位,重新開始讀取下一條報文;

2、將回車換行符作為訊息結束符,例如:FTP協議,這種方式在文字協議中應用比較廣泛;

3、將特殊的分隔符作為訊息的結束標誌,回車換行符就是一種特殊的結束分隔符;

4、通過在訊息頭中定義長度段來標示報文的總長度(以本人經驗該方式在銀行系統中應用最為廣泛);

Netty對以上四種應用做了統一的抽象,提供了4種解碼器來解決對應的問題,,分別是:

LineBasedFrameDecoder      換行符

DelimiterBaseFrameDecoder  分隔符

FixdLengthFrameDecoder     定長