1,粘包/拆包問題
2,粘包/拆包的解決策略
3,String解碼器
socketChannel.pipeline().addLast(new StringDecoder());
4,換行符轉碼器(特殊的分隔符)
request = ("QUERY TIME ORDER" + System.getProperty("line.separator")).getBytes();
socketChannel.pipeline().addLast(new LineBasedFrameDecoder(222));
5,分隔符轉碼器
socketChannel.pipeline().addLast(new DelimiterBasedFrameDecoder(1024,delimiter));
1024-讀取buffer的最大長度,如果超過該長度還沒讀取到分隔符則拋出異常
delimiter-分隔符
6,定長轉碼器
socketChannel.pipeline().addLast(new FixedLengthFrameDecoder(20));