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

Netty LengthFieldBasedFrameDecoder解碼器,長(zhǎng)度位大小端端問(wèn)題,

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

回答
編輯回答
拽很帥
   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