| | |
| | | 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; |
| | |
| | | // 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() { |
| | |
| | | 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()); |
| | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | SystemClock.sleep(8000); |
| | | SystemClock.sleep(3000); |
| | | } |
| | | } |
| | | } |