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