From dc933e595132e43f9059fd35f55cf436e37bdc11 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 12 Oct 2018 13:59:20 +0800 Subject: [PATCH] =?UTF-8?q?//=E5=A6=82=E6=9E=9C=E6=98=AFconnection=20lost?= =?UTF-8?q?=20=E4=B8=BB=E5=8A=A8=E6=96=AD=E5=BC=80tcp=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E5=87=86=E5=A4=87=E9=87=8D=E8=BF=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SCADA/Program/.vs/DataExchange/v15/.suo | Bin 638976 -> 638464 bytes .../v15/Server/sqlite3/storage.ide | Bin 5885952 -> 5885952 bytes .../v15/Server/sqlite3/storage.ide-wal | Bin 4128272 -> 4152992 bytes SCADA/Program/ModbusDriver/ModbusTCPDriver.cs | 5 +++++ 4 files changed, 5 insertions(+) diff --git a/SCADA/Program/.vs/DataExchange/v15/.suo b/SCADA/Program/.vs/DataExchange/v15/.suo index 3886163a9f6a01a17024dfe5050fce90365d86bc..cd17afb56573dfff3c5770215283b80ca5bd74df 100644 GIT binary patch delta 3202 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 Jr(`cK{~tAIwNwBA delta 6902 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 diff --git a/SCADA/Program/ModbusDriver/ModbusTCPDriver.cs b/SCADA/Program/ModbusDriver/ModbusTCPDriver.cs index 22bfec6..e5661aa 100644 --- a/SCADA/Program/ModbusDriver/ModbusTCPDriver.cs +++ b/SCADA/Program/ModbusDriver/ModbusTCPDriver.cs @@ -267,6 +267,11 @@ namespace ModbusDriver if (function > Modbus.excExceptionOffset) { function -= Modbus.excExceptionOffset; + //如果是connection lost 主动断开tcp连接准备重连 + if (tcpSynClBuffer[8] == Modbus.excExceptionConnectionLost) + { + tcpSynCl.Close(); + } CallException(id, function, tcpSynClBuffer[8]); return null; }