From 704a7434b0494e84a578d719daacb72f995b2ad2 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期一, 30 十二月 2019 17:43:17 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge

---
 im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java b/im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java
index fe1b127..37f0d28 100644
--- a/im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java
+++ b/im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java
@@ -1,12 +1,18 @@
 package com.anyun.im_lib.netty;
 
+import android.util.Log;
+
 import com.anyun.im_lib.HeartbeatRespHandler;
 import com.anyun.im_lib.LoginAuthRespHandler;
 import com.anyun.im_lib.interf.IMSClientInteface;
 
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelInitializer;
 import io.netty.channel.ChannelPipeline;
+import io.netty.handler.codec.DelimiterBasedFrameDecoder;
+
 
 /**
  * MyApplication2
@@ -17,6 +23,8 @@
  */
 public class TCPChannelInitializerHandler  extends ChannelInitializer<Channel> {
 
+    private static final String TAG = TCPChannelInitializerHandler.class.getSimpleName();
+
     private IMSClientInteface imsClient;
 
     public TCPChannelInitializerHandler(NettyTcpClient nettyTcpClient) {
@@ -26,11 +34,40 @@
     @Override
     protected void initChannel(Channel channel) throws Exception {
         ChannelPipeline pipeline = channel.pipeline();
+        Log.i(TAG, "initChannel: ");
 
         //netty鎻愪緵鐨勮嚜瀹氫箟闀垮害瑙g爜鍣紝瑙e喅TP鎷嗗寘/绮樺寘闂
 
         // TODO: 2019/12/4
+//        锛�1锛� maxFrameLength - 鍙戦�佺殑鏁版嵁鍖呮渶澶ч暱搴︼紱
+//
+//锛�2锛� lengthFieldOffset - 闀垮害鍩熷亸绉婚噺锛屾寚鐨勬槸闀垮害鍩熶綅浜庢暣涓暟鎹寘瀛楄妭鏁扮粍涓殑涓嬫爣锛�
+//
+//锛�3锛� lengthFieldLength - 闀垮害鍩熺殑鑷繁鐨勫瓧鑺傛暟闀垮害銆�
+//
+//锛�4锛� lengthAdjustment 鈥� 闀垮害鍩熺殑鍋忕Щ閲忕煫姝c�� 濡傛灉闀垮害鍩熺殑鍊硷紝闄や簡鍖呭惈鏈夋晥鏁版嵁鍩熺殑闀垮害澶栵紝杩樺寘鍚簡鍏朵粬鍩燂紙濡傞暱搴﹀煙鑷韩锛夐暱搴︼紝閭d箞锛屽氨闇�瑕佽繘琛岀煫姝c�傜煫姝g殑鍊间负锛氬寘闀� - 闀垮害鍩熺殑鍊� 鈥� 闀垮害鍩熷亸绉� 鈥� 闀垮害鍩熼暱銆�
+//
+//锛�5锛� initialBytesToStrip 鈥� 涓㈠純鐨勮捣濮嬪瓧鑺傛暟銆備涪寮冨浜庢湁鏁堟暟鎹墠闈㈢殑瀛楄妭鏁伴噺銆傛瘮濡傚墠闈㈡湁4涓妭鐐圭殑闀垮害鍩燂紝鍒欏畠鐨勫�间负4銆�
+//
+//        鍦ㄤ笂闈㈢殑渚嬪瓙涓紝鑷畾涔夐暱搴﹁В鐮佸櫒鐨勬瀯閫犲弬鏁板�煎涓嬶細
+//
+//        LengthFieldBasedFrameDecoder spliter=new LengthFieldBasedFrameDecoder(1024,0,4,0,4);
+//        绗竴涓弬鏁颁负1024锛岃〃绀烘暟鎹寘鐨勬渶澶ч暱搴︿负1024锛�
+//        绗簩涓弬鏁�0锛岃〃绀洪暱搴﹀煙鐨勫亸绉婚噺涓�0锛屼篃灏辨槸闀垮害鍩熸斁鍦ㄤ簡鏈�鍓嶉潰锛屽浜庡寘鐨勮捣濮嬩綅缃紱
+//        绗笁涓弬鏁颁负4锛岃〃绀洪暱搴﹀煙鍗犵敤4涓瓧鑺傦紱
+//        绗洓涓弬鏁颁负0锛岃〃绀洪暱搴﹀煙淇濆瓨鐨勫�硷紝浠呬粎涓烘湁鏁堟暟鎹暱搴︼紝涓嶅寘鍚叾浠栧煙锛堝闀垮害鍩燂級鐨勯暱搴︼紱
+//        绗簲涓弬鏁颁负4锛岃〃绀烘渶缁堢殑鍙栧埌鐨勭洰鏍囨暟鎹寘锛屾姏寮冩渶鍓嶉潰鐨�4涓瓧鑺傛暟鎹紝闀垮害鍩熺殑鍊艰鎶涘純銆�
+//
+//        涓轰簡鏇村姞娓呮鐨勮鏄庝竴涓嬩笂闈㈢殑瑙勫垯锛岃皟鏁翠竴涓嬩緥瀛愪腑鐨勪唬鐮併�傚湪鍐欏叆閫氶亾鍓嶏紝鍦ㄦ暟鎹�
+//        pipeline.addLast(new LengthFieldBasedFrameDecoder(1024,3 ,2,1,0));
 
+//        pipeline.addLast(new FixedLengthFrameDecoder(10));  // 娴嬭瘯鐢�  鍥哄畾闀垮害娑堟伅
+
+//        pipeline.addLast(new LineBasedFrameDecoder(1024));
+
+        byte[] bytes = new byte[]{0x7e};
+        ByteBuf byteBuf = Unpooled.copiedBuffer(bytes);
+        pipeline.addLast(new DelimiterBasedFrameDecoder(1024,byteBuf));
 
         //鎻℃墜璁よ瘉娑堟伅鐩稿簲澶勭悊handler
         pipeline.addLast(LoginAuthRespHandler.class.getSimpleName(), new LoginAuthRespHandler(imsClient));

--
Gitblit v1.8.0