作者回复: 谢谢,很欣慰!江湖再见!
作者回复: 你这个是我收到的最高的评价了,哈哈,我都不知道我还是有点幽默的人,因为一般比较严肃。谢谢,加油,一起努力!
作者回复: 再见!
作者回复: 能坚持几遍就很不错了,我买了几个了课程一遍都看不完,不买就有动力试看,买了就感觉学会了,就坚持不下来了,所以向你学习!
作者回复: 谢谢肯定!
作者回复: 你的问题2好像本身就回复了问题1,具体而言:参考这个方法 LengthFieldBasedFrameDecoder#getUnadjustedFrameLength读取2字节(lengthFieldLength)的内容,这个内容里面存的就是长度。然后内容的读取是LengthFieldBasedFrameDecoder#extractFrame 第二个问题: 你随便找一个简单的bytebuf实现,例如UnpooledHeapByteBuf,然后查看这个方法,你最终找到的是:HeapByteBufUtil#getShort static short getShort(byte[] memory, int index) { return (short) (memory[index] << 8 | memory[index + 1] & 0xFF); } index其实不重要,代表当前索引位了,你可以假设是0,横竖意思就是从当前索引开始,取第一个字节和第二个字节,一个作高位(<<8),一个做低位,拼接到一起(也就是|), 然后2个字节不就是刚好short的长度么,就这么算出来的。 你的这个问题很长,不知道你想问的和我理解的你要问的可是完全匹配,应该差不多,如果有别的疑问或者哪里不明白,继续提问,谢谢。
作者回复: 谢谢肯定,仍需努力!
作者回复: 谢谢肯定!
作者回复: 希望有所收获,谢谢
作者回复: 谢谢肯定!