From e6a8bdd23d6f5cb46ac650285829573280edcdf6 Mon Sep 17 00:00:00 2001 From: 554325746@qq.com <554325746@qq.com> Date: 星期一, 15 七月 2019 16:51:11 +0800 Subject: [PATCH] a --- app/src/main/java/com/basic/security/fragment/HomeFragment.java | 35 ++++++++++++++++++++++++++--------- 1 files changed, 26 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/basic/security/fragment/HomeFragment.java b/app/src/main/java/com/basic/security/fragment/HomeFragment.java index 3d30b51..dd63bec 100644 --- a/app/src/main/java/com/basic/security/fragment/HomeFragment.java +++ b/app/src/main/java/com/basic/security/fragment/HomeFragment.java @@ -22,6 +22,7 @@ import org.androidannotations.annotations.UiThread; import java.lang.reflect.Method; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -47,6 +48,15 @@ // homeRestClient.setRootUrl("http://"+ipStr+":8000/data/api-v/realTime"); // } } + static List<SocketClient> socketClientList = new ArrayList<>(); + + public static void startNewSocketClient() { + System.out.println("鍚姩鏂拌繛鎺�"); + SocketClient socketClient = new SocketClient(SettingManager.getIpStr(), SettingManager.getPort()); + socketClient.start(); + socketClientList.add(socketClient); + SystemClock.sleep(10*1000); + } @Background public void pullAlarmDataList() { @@ -54,16 +64,23 @@ refreshGridView(); while (true) { try{ - Map<String, String> requestBody = new HashMap<String, String>(); - requestBody.put("sec", "15"); - List<Map<String, String>> newRemoteAlarmList = null; try { - if (localServer) { - newRemoteAlarmList = (List<Map<String, String>>)homeRestClient.list1(); - } else { - SocketClient socketClient = new SocketClient(SettingManager.getIpStr(), SettingManager.getPort()); - socketClient.start(); + if (1!=1) { + startNewSocketClient(); break; + } else { + List<SocketClient> socketClientListToRemove = new ArrayList<>(); + for (SocketClient socketClient1 : socketClientList) { + if (System.currentTimeMillis() - socketClient1.lastUpdateTime > 1000*60*2) { +// socketClient1.closeSocket(); + socketClient1.interrupt(); + socketClientListToRemove.add(socketClient1); + } + } + socketClientList.removeAll(socketClientListToRemove); + if (socketClientList.size() == 0) { + startNewSocketClient(); + } } } catch (Exception e) { System.out.println("pullAlarmDataList, " + e.getMessage()); @@ -71,7 +88,7 @@ } catch (Exception e) { e.printStackTrace(); } finally { - SystemClock.sleep(8000); + SystemClock.sleep(3000); } } } -- Gitblit v1.8.0