diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/rtkcluster/RtkClusterService.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/rtkcluster/RtkClusterService.java index d048c800..1361042f 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/rtkcluster/RtkClusterService.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/rtkcluster/RtkClusterService.java @@ -250,30 +250,21 @@ public class RtkClusterService implements ApplicationRunner { } if (n > 0 && isLikelyText(probe, n)) { - Socket previous = outConn; - if (!isSocketAlive(previous)) { + if (!isSocketAlive(outConn)) { outConn = s; assigned = true; LOGGER.debug("Endpoint {} OUT connected", port); pumpOut(s, probe, n); } else { - LOGGER.info("Endpoint {} replacing existing OUT connection", port); - closeQuietly(previous); - outConn = s; - assigned = true; - pumpOut(s, probe, n); + LOGGER.info("Endpoint {} additional OUT connection detected; keeping existing", port); } } else { - Socket previous = inConn; - if (!isSocketAlive(previous)) { + if (!isSocketAlive(inConn)) { inConn = s; assigned = true; LOGGER.debug("Endpoint {} IN connected", port); } else { - LOGGER.info("Endpoint {} replacing existing IN connection", port); - closeQuietly(previous); - inConn = s; - assigned = true; + LOGGER.info("Endpoint {} additional IN connection detected; keeping existing", port); } } } catch (IOException e) {