From 29c1adb9502beb6f6afd8eec0d688b0f27d04f0f Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期五, 13 十二月 2019 15:44:34 +0800
Subject: [PATCH] 跑通收数据

---
 app/src/main/java/safeluck/drive/evaluation/im/IMSConnectStatusListener.java  |   11 ++++-
 app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java          |    2 
 im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java |    2 +
 im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java               |    1 
 im_lib/src/main/java/com/anyun/im_lib/netty/TCPReadHandler.java               |    2 -
 app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java         |   43 ++++++++++++++++-----
 app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java        |   27 ++++++++-----
 7 files changed, 59 insertions(+), 29 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
index bfe5efb..f5b9878 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
@@ -31,6 +31,8 @@
 import safeluck.drive.evaluation.DB.failitems.FailedProj;
 import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
 import safeluck.drive.evaluation.R;
+import safeluck.drive.evaluation.im.IMSClientBootstrap;
+import safeluck.drive.evaluation.im.MessageProcessor;
 import safeluck.drive.evaluation.tcp.ConnectThread;
 
 /**
@@ -61,7 +63,7 @@
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
         View view = inflater.inflate(R.layout.layout_tcpclient, container, false);
         initView(view);
-        workViewModel =ViewModelProviders.of(this).get(CriteriaIViewModel.class);
+//        workViewModel =ViewModelProviders.of(this).get(CriteriaIViewModel.class);
 
   
         return view;
@@ -83,22 +85,37 @@
     public void onClick(View v) {
         switch (v.getId()){
             case R.id.btn_connect:
+
 //                String serverIp = ip.getText().toString().trim();
 //                String serverPort = port.getText().toStrirng().trim();
 //            connectThread = new ConnectThread(serverIp,Integer.parseInt(serverPort));
 //            connectThread.start();
-                    Random random = new Random();
-                r = random.nextInt(30)+1;
-                Log.i(TAG, "onClick: 闅忔満鏁�="+r);
-                WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
-                    @Override
-                    public void run() {
 
-                WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getFailProjDao().insert(new FailedProj(flag?1:2, r,flag?1001:1000));
-                flag = !flag;
-                    }
-                });
+                /**======================浠ヤ笅鐢ㄤ簬娴嬭瘯鏁版嵁搴�==================*/
+//                Random random = new Random();
+//                r = random.nextInt(30)+1;
+//                Log.i(TAG, "onClick: 闅忔満鏁�="+r);
+//                WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
+//                    @Override
+//                    public void run() {
+//
+//                WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getFailProjDao().insert(new FailedProj(flag?1:2, r,flag?1001:1000));
+//                flag = !flag;
+//                    }
+//                });
+                /**======================娴嬭瘯鏁版嵁搴撶粨鏉�==================*/
 
+
+
+
+
+
+
+                String userId = "100002";
+                String token = "token_" + userId;
+                String hosts = "[{\"host\":\"192.168.10.234\", \"port\":8855}]";
+
+                IMSClientBootstrap.getInstance().init(userId,token,hosts,1);
                 break;
             case R.id.btn_send:
 //                if (connectThread != null){
@@ -106,6 +123,10 @@
 ////                    sendEditText.getText().clear();
 ////                }
 
+
+
+                MessageProcessor.getInstance().sendMessage(sendEditText.getText().toString().trim());
+
                 break;
         }
     }
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java b/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
index 5457509..056a296 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
@@ -3,12 +3,14 @@
 import android.util.Log;
 
 import com.anyun.im_lib.interf.IMSClientInteface;
+import com.google.gson.Gson;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
+import com.google.gson.reflect.TypeToken;
 
 
-
+import java.lang.reflect.Type;
 import java.util.Vector;
 
 
@@ -78,18 +80,21 @@
     }
 
     private Vector<String> convertHosts(String hosts) {
+        Log.i(TAG, "convertHosts: "+hosts);
         if (hosts != null && hosts.length() > 0) {
-            JsonArray hostArray =  JsonParser.parseString(hosts).getAsJsonArray();
-            if (null != hostArray && hostArray.size() > 0) {
-                Vector<String> serverUrlList = new Vector<String>();
-                JsonObject host;
-                for (int i = 0; i < hostArray.size(); i++) {
-                    host = JsonParser.parseString(hostArray.get(i).toString()).getAsJsonObject();
-                    serverUrlList.add(host.get("host") + " "
-                            + host.get("port"));
-                }
-                return serverUrlList;
+
+            Vector<String> serverUrlList = new Vector<>();
+            JsonArray jsonArray =JsonParser.parseString(hosts).getAsJsonArray();
+            for (int i = 0; i < jsonArray.size(); i++) {
+                JsonObject host = jsonArray.get(i).getAsJsonObject();
+                String hostName = host.get("host").getAsString();
+                int port = host.get("port").getAsInt();
+
+                Log.i(TAG, "convertHosts: hostname="+hostName+"  port="+port);
+                serverUrlList.add(hostName+" "+port);
             }
+                return serverUrlList;
+
 
 
         }
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/IMSConnectStatusListener.java b/app/src/main/java/safeluck/drive/evaluation/im/IMSConnectStatusListener.java
index 00d813d..21b0d20 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/IMSConnectStatusListener.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/IMSConnectStatusListener.java
@@ -1,5 +1,7 @@
 package safeluck.drive.evaluation.im;
 
+import android.util.Log;
+
 import com.anyun.im_lib.listener.IMSConnectStatusCallback;
 
 /**
@@ -9,18 +11,21 @@
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
 public class IMSConnectStatusListener implements IMSConnectStatusCallback {
+    
+    private static final String TAG = IMSConnectStatusListener.class.getSimpleName();
+    
     @Override
     public void onConnecting() {
-
+        Log.i(TAG, "onConnecting: ");
     }
 
     @Override
     public void onConnected() {
-
+        Log.i(TAG, "onConnected: ");
     }
 
     @Override
     public void onConnectFailed() {
-
+        Log.i(TAG, "onConnectFailed: ");
     }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java b/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
index b35dd00..1039515 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
@@ -25,7 +25,7 @@
 
     @Override
     public boolean isNetWorkAvailable() {
-        return false;
+        return true;
     }
 
     @Override
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 4306b86..1e520f5 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
@@ -478,7 +478,6 @@
                     try {
                         currentPort = Integer.parseInt(address[1]);
                         currentHost = address[0];
-                        Log.i(TAG, String.format("瑙f瀽鍦板潃[%s],port[%d]",currentHost,currentPort));
                         //杩炴帴鏈嶅姟鍣�
                         toServer();
                         //channel涓嶄负绌猴紝鍒欒涓鸿繛鎺ュ凡缁忔垚鍔�
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 5663664..2a9fa08 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
@@ -9,6 +9,7 @@
 import io.netty.channel.ChannelPipeline;
 import io.netty.handler.codec.FixedLengthFrameDecoder;
 import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
+import io.netty.handler.codec.LineBasedFrameDecoder;
 
 /**
  * MyApplication2
@@ -52,6 +53,7 @@
 
         pipeline.addLast(new FixedLengthFrameDecoder(10));  // 娴嬭瘯鐢�  鍥哄畾闀垮害娑堟伅
 
+
         //鎻℃墜璁よ瘉娑堟伅鐩稿簲澶勭悊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 2a7fe43..68500be 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
@@ -58,14 +58,12 @@
 
     @Override
     public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
-        super.channelRead(ctx, msg);
         // TODO: 2019/12/4
         //鏈嶅姟绔繑鍥炴秷鎭悗
         ByteBuf buf = (ByteBuf) msg;
         byte[] req = new byte[buf.readableBytes()];
         buf.readBytes(req);
         String str = new String(req, "UTF-8");
-        System.out.println("鏈嶅姟绔暟鎹负 :" + str);
 
         Log.i(TAG, "channelRead: "+     str);
         imsClient.getMsgDispatcher().receivedMsg(   str  );

--
Gitblit v1.8.0