package com.data;
|
|
import java.rmi.server.SocketSecurityException;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.base.Com;
|
import com.dev.base.data.Dynamicload_inf;
|
import com.sql.MysqlConnPool;
|
|
public class PowerArk_ServerSocket_Thread extends Thread{
|
public MysqlConnPool conn_pool;
|
public Map<Integer, PowerArk_SocketCliet_Thread> allpower;
|
public List<Dynamicload_inf> DevData;
|
public static boolean reinitclient = true;
|
|
public PowerArk_ServerSocket_Thread(MysqlConnPool conn_pool,List<Dynamicload_inf> DevData) {
|
this.conn_pool = conn_pool;
|
this.allpower = new HashMap<Integer, PowerArk_SocketCliet_Thread>();
|
this.DevData = DevData;
|
}
|
|
|
|
@Override
|
public void run() {
|
System.out.println("PowerArk_ServerSocket_Thread Start at " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
for(int i =0 ; i < DevData.size() ; i++) {
|
PowerArk_ServerSocket_Thread_SQL.insertOrUpdateDynamicload_ButtonTable(conn_pool, DevData.get(i).dev_id);
|
|
PowerArk_ServerSocket_Thread_SQL.insertOrUpdateDynamicload_ControlTable(conn_pool, DevData.get(i).dev_id);
|
|
PowerArk_ServerSocket_Thread_SQL.insertOrUpdateDynamicload_StateTable(conn_pool, DevData.get(i).dev_id);
|
|
PowerArk_SocketCliet_Thread thread = new PowerArk_SocketCliet_Thread(conn_pool, DevData.get(i));
|
new Thread(thread).start();
|
allpower.put(DevData.get(i).dev_id, thread);
|
}
|
|
while(true) {
|
try {
|
|
if(reinitclient) {
|
for(int i =0;i<DevData.size();i++) {
|
PowerArk_SocketCliet_Thread client = allpower.get(DevData.get(i).dev_id);
|
if(client == null) {
|
//ÐÂÌí¼ÓµÄÉ豸
|
PowerArk_ServerSocket_Thread_SQL.insertOrUpdateDynamicload_ButtonTable(conn_pool, DevData.get(i).dev_id);
|
|
PowerArk_ServerSocket_Thread_SQL.insertOrUpdateDynamicload_ControlTable(conn_pool, DevData.get(i).dev_id);
|
|
PowerArk_ServerSocket_Thread_SQL.insertOrUpdateDynamicload_StateTable(conn_pool, DevData.get(i).dev_id);
|
|
PowerArk_SocketCliet_Thread thread = new PowerArk_SocketCliet_Thread(conn_pool, DevData.get(i));
|
new Thread(thread).start();
|
allpower.put(DevData.get(i).dev_id, thread);
|
|
}else {
|
//Ð޸ĹýÉ豸ipµÄ´¦Àí°ì·¨
|
if(!client.dev_ip.equals(DevData.get(i).dev_ip)) {
|
client.dev_ip = DevData.get(i).dev_ip;
|
}
|
}
|
}
|
}
|
sleep(2000);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|