diff --git a/src/main/java/com/xydl/cac/iec/IecClient.java b/src/main/java/com/xydl/cac/iec/IecClient.java index da222b3..7985dfc 100644 --- a/src/main/java/com/xydl/cac/iec/IecClient.java +++ b/src/main/java/com/xydl/cac/iec/IecClient.java @@ -163,7 +163,6 @@ public class IecClient implements ClientEventListener { @Override public void associationClosed(IOException e) { if (keep) { - keep = false; this.disableReporting(); this.disconnect(); while (retry > 0) { diff --git a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java index 5f850d4..d1c2f1a 100644 --- a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java +++ b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java @@ -92,6 +92,7 @@ public class RealTimeDataService { private void onlyStop(Integer iedId) { IecClient iecClient = StaticVariable.realTimeClientMap.get(iedId); if (iecClient != null) { + iecClient.keep = false; iecClient.disableReporting(); iecClient.disconnect(); StaticVariable.realTimeClientMap.remove(iedId);