鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ Netty LengthFieldBasedFrameDecoder解碼器,長度

Netty LengthFieldBasedFrameDecoder解碼器,長度位大小端端問題,

Netty里面使用LengthFieldBasedFrameDecoder解碼的時(shí)候, 遇到一個(gè)問題, 我們協(xié)議長度兩個(gè)字節(jié), 默認(rèn)是低位在前, 高位在后, 比如長度10的話, 就是Array[0] = 0x0a, Array[1] = 0 ; 但是我發(fā)現(xiàn)在Netty里面是大端在前, Array[0] = 0;Array[1] = 0x0a;這種情況才能正確的讀到10個(gè)長度的數(shù)據(jù) ,
是我的理解錯(cuò)誤, 還是Netty默認(rèn)就是高字節(jié)在前, 低字節(jié)在后?協(xié)議是沒法改了, 我這種該怎么處理?

回答
編輯回答
拽很帥
   public LengthFieldBasedFrameDecoder(ByteOrder byteOrder, int maxFrameLength, int lengthFieldOffset, int lengthFieldLength, int lengthAdjustment, int initialBytesToStrip, boolean failFast) 

這個(gè)構(gòu)造函數(shù)可以指定大小端!

2018年9月21日 12:01