endian11
2019-12-17 ebe86678ce0035642eb11f94ba094a73d5adbfbe
im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java
@@ -46,13 +46,18 @@
//        在上面的例子中,自定义长度解码器的构造参数值如下:
//
//        LengthFieldBasedFrameDecoder spliter=new LengthFieldBasedFrameDecoder(1024,0,4,0,4);
//        第一个参数为1024,表示数据包的最大长度为1024;第二个参数0,表示长度域的偏移量为0,也就是长度域放在了最前面,处于包的起始位置;第三个参数为4,表示长度域占用4个字节;第四个参数为0,表示长度域保存的值,仅仅为有效数据长度,不包含其他域(如长度域)的长度;第五个参数为4,表示最终的取到的目标数据包,抛弃最前面的4个字节数据,长度域的值被抛弃。
//        第一个参数为1024,表示数据包的最大长度为1024;
//        第二个参数0,表示长度域的偏移量为0,也就是长度域放在了最前面,处于包的起始位置;
//        第三个参数为4,表示长度域占用4个字节;
//        第四个参数为0,表示长度域保存的值,仅仅为有效数据长度,不包含其他域(如长度域)的长度;
//        第五个参数为4,表示最终的取到的目标数据包,抛弃最前面的4个字节数据,长度域的值被抛弃。
//
//        为了更加清楚的说明一下上面的规则,调整一下例子中的代码。在写入通道前,在数据
//        pipeline.addLast(new LengthFieldBasedFrameDecoder(1024,3 ,4,0,13));
        pipeline.addLast(new LengthFieldBasedFrameDecoder(1024,3 ,2,1,0));
        pipeline.addLast(new FixedLengthFrameDecoder(10));  // 测试用  固定长度消息
//        pipeline.addLast(new FixedLengthFrameDecoder(10));  // 测试用  固定长度消息
//        pipeline.addLast(new LineBasedFrameDecoder(1024));
        //握手认证消息相应处理handler
        pipeline.addLast(LoginAuthRespHandler.class.getSimpleName(), new LoginAuthRespHandler(imsClient));