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