From ebe86678ce0035642eb11f94ba094a73d5adbfbe Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期二, 17 十二月 2019 14:12:02 +0800
Subject: [PATCH] app层发送失败打印log;  NettyTcp 设置连接超时为10s.原来是0默认30s连接超时

---
 im_lib/src/main/java/com/anyun/im_lib/util/ByteUtil.java                      |    2 +-
 im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java |   11 ++++++++---
 im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java               |    9 ++++++---
 im_lib/src/main/java/com/anyun/im_lib/netty/TCPReadHandler.java               |    4 ++--
 app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java          |    7 ++++++-
 5 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
index 2e2e17f..2b3e333 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -36,7 +36,12 @@
         CThreadPoolExecutor.runInBackground(new Runnable() {
             @Override
             public void run() {
-                IMSClientBootstrap.getInstance().sendMessage(msg);
+                if (IMSClientBootstrap.getInstance().isActive()){
+
+                    IMSClientBootstrap.getInstance().sendMessage(msg);
+                }else{
+                    Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp");
+                }
             }
         });
     }
diff --git a/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java b/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
index 1e520f5..abb179a 100644
--- a/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
+++ b/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
@@ -178,7 +178,7 @@
     private void toServer() {
         try {
             channel = bootstrap.connect(currentHost,currentPort).sync().channel();
-        } catch (InterruptedException e) {
+        } catch (Exception e) {
             Log.i(TAG, String.format("杩炴帴Server(ip[%s],port[%d]澶辫触)",currentHost,currentPort));
             try {
                 Thread.sleep(500);
@@ -344,7 +344,10 @@
 
     @Override
     public int getConnectTimeout() {
-        return 0;
+        if(mOnEventListener != null && mOnEventListener.getConnectTimeout()>0){
+            connectTimeOut = mOnEventListener.getConnectTimeout();
+        }
+        return connectTimeOut;
     }
 
     @Override
@@ -465,7 +468,7 @@
                     return IMSConfig.CONNECT_STATE_FAILURE;
                 }
                 String[] address = serverUrl.split(" ");
-                for (int j = 1; j < IMSConfig.DEFAULT_RECONNECT_COUNT; j++) {
+                for (int j = 1; j <= IMSConfig.DEFAULT_RECONNECT_COUNT; j++) {
                     //濡傛灉ims宸茬粡鍏抽棴锛屾垨缃戠粶涓嶅彲鐢紝鐩存帴鍥炶皟杩炴帴鐘舵�侊紝涓嶅啀杩涜杩炴帴
                     if (isClosed || !isNetworkAvaliable()){
                         return IMSConfig.CONNECT_STATE_FAILURE;
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 4bf3e38..9413b23 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
@@ -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));
diff --git a/im_lib/src/main/java/com/anyun/im_lib/netty/TCPReadHandler.java b/im_lib/src/main/java/com/anyun/im_lib/netty/TCPReadHandler.java
index 66ba349..ad3116d 100644
--- a/im_lib/src/main/java/com/anyun/im_lib/netty/TCPReadHandler.java
+++ b/im_lib/src/main/java/com/anyun/im_lib/netty/TCPReadHandler.java
@@ -3,7 +3,7 @@
 import android.util.Log;
 
 import com.anyun.im_lib.interf.IMSClientInteface;
-
+import com.anyun.im_lib.util.ByteUtil;
 
 
 import io.netty.buffer.ByteBuf;
@@ -61,9 +61,9 @@
         ByteBuf buf = (ByteBuf) msg;
         byte[] req = new byte[buf.readableBytes()];
         buf.readBytes(req);
+        Log.i(TAG, "channelRead hex str: "+ ByteUtil.byte2HexStr(req));
         String str = new String(req, "UTF-8");
 
-        Log.i(TAG, "channelRead: "+     str);
         imsClient.getMsgDispatcher().receivedMsg(   str  );
     }
 
diff --git a/im_lib/src/main/java/com/anyun/im_lib/util/ByteUtil.java b/im_lib/src/main/java/com/anyun/im_lib/util/ByteUtil.java
index 020bf33..4b3dcf4 100644
--- a/im_lib/src/main/java/com/anyun/im_lib/util/ByteUtil.java
+++ b/im_lib/src/main/java/com/anyun/im_lib/util/ByteUtil.java
@@ -93,7 +93,7 @@
         {
             stmp = Integer.toHexString(b[n] & 0xFF);
             sb.append((stmp.length()==1)? "0"+stmp : stmp);
-//            sb.append(" ");
+            sb.append(" ");
         }
         return sb.toString().toUpperCase().trim();
     }

--
Gitblit v1.8.0