From 8d7434385850666158cb277ca211fb01c7ff81de Mon Sep 17 00:00:00 2001
From: DELL <DELL@WIN-3EOIPEE9ML1>
Date: 星期五, 23 二月 2024 13:22:51 +0800
Subject: [PATCH] 修复连接bug

---
 iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task.java |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task.java b/iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task.java
index 3347499..e4f87d0 100644
--- a/iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task.java
+++ b/iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task.java
@@ -1,5 +1,7 @@
 package com.iedscout;
 
+import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.InetAddress;
@@ -64,7 +66,7 @@
 		
 	}
 	
-	public void connectIEDDevice() {		
+	public void connectIEDDevice() throws FileNotFoundException {		
         try {
         	param.setFail_reasion(IEDScout_Param.FAILREASION_NULL);
 	        while(m_App_IsConnect) {	        	
@@ -87,17 +89,24 @@
 	        		break;
 	        	}        	
 	        	logger.info("Start Load ICD File '" + param.target_icd + "'");
-	    		
-	            try {
+	        	File file = new  File(param.target_icd);
+	        	if(!file.exists()) {
+	        		param.setFail_reasion(IEDScout_Param.FAILREASION_FILENOTFOUND);
+	            	param.setConn_st(IEDScout_Param.CONN_STATE_FAIL);
+	        		break;
+	        	}
+	        	
+	            try {            	
 	            	//鍔犺浇妯″瀷鏂囦欢
 	            	List<ServerSap> serverSaps = ServerSap.getSapsFromSclFile(param.target_icd);
 	            	m_ServerModel = serverSaps.get(0).serverModel;
-	            } catch (Exception e1) {
-	            	m_App_IsConnect = false;
-	            	param.setFail_reasion(IEDScout_Param.FAILREASION_FILENOTFOUND);
+	            }catch (Exception e1) {
+	            	
+	            	param.setFail_reasion(IEDScout_Param.FAILREASION_FILEERROR);
 	            	param.setConn_st(IEDScout_Param.CONN_STATE_FAIL);
 	            	
 	            	logger.error("Error Parsing ICD File: " + e1.getMessage());
+	            	break;
 	            }
 	            logger.info("Successfully Read Model ");
 	            List<BasicDataAttribute> ms = m_ServerModel.getBasicDataAttributes();
@@ -274,7 +283,7 @@
 	
 	
 	public static void main(String[] args) {
-		MysqlConnPool pool = new MysqlConnPool("127.0.0.1",3360,10);
+		MysqlConnPool pool = new MysqlConnPool("192.168.10.82",3360,10);
 		
 		BTS61850_IEDScout_Task_Thread thread = new BTS61850_IEDScout_Task_Thread(pool);
 		thread.start();

--
Gitblit v1.9.1