Fix
This commit is contained in:
@@ -456,6 +456,7 @@ namespace Modbus.Net
|
|||||||
catch (Exception err)
|
catch (Exception err)
|
||||||
{
|
{
|
||||||
Log.Error(err, "Com client {ConnectionToken} send msg error", ConnectionToken);
|
Log.Error(err, "Com client {ConnectionToken} send msg error", ConnectionToken);
|
||||||
|
Dispose();
|
||||||
}
|
}
|
||||||
RefreshSendCount();
|
RefreshSendCount();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ namespace Modbus.Net
|
|||||||
catch (Exception err)
|
catch (Exception err)
|
||||||
{
|
{
|
||||||
Log.Error(err, "Tcp client {ConnectionToken} send exception", ConnectionToken);
|
Log.Error(err, "Tcp client {ConnectionToken} send exception", ConnectionToken);
|
||||||
CloseClientSocket();
|
Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,6 +225,7 @@ namespace Modbus.Net
|
|||||||
{
|
{
|
||||||
while (!_taskCancel)
|
while (!_taskCancel)
|
||||||
{
|
{
|
||||||
|
if (_socketClient == null) break;
|
||||||
NetworkStream stream = _socketClient.GetStream();
|
NetworkStream stream = _socketClient.GetStream();
|
||||||
var len = await stream.ReadAsync(_receiveBuffer, 0, _receiveBuffer.Length);
|
var len = await stream.ReadAsync(_receiveBuffer, 0, _receiveBuffer.Length);
|
||||||
stream.Flush();
|
stream.Flush();
|
||||||
@@ -298,11 +299,14 @@ namespace Modbus.Net
|
|||||||
Controller.SendStop();
|
Controller.SendStop();
|
||||||
Controller.Clear();
|
Controller.Clear();
|
||||||
ReceiveMsgThreadStop();
|
ReceiveMsgThreadStop();
|
||||||
if (_socketClient.Connected)
|
if (_socketClient != null)
|
||||||
{
|
{
|
||||||
_socketClient?.GetStream().Dispose();
|
if (_socketClient.Connected)
|
||||||
|
{
|
||||||
|
_socketClient?.GetStream().Dispose();
|
||||||
|
}
|
||||||
|
_socketClient?.Close();
|
||||||
}
|
}
|
||||||
_socketClient?.Close();
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ namespace Modbus.Net
|
|||||||
catch (Exception err)
|
catch (Exception err)
|
||||||
{
|
{
|
||||||
Log.Error(err, "Udp client {ConnectionToken} send exception", ConnectionToken);
|
Log.Error(err, "Udp client {ConnectionToken} send exception", ConnectionToken);
|
||||||
CloseClientSocket();
|
Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,6 +206,7 @@ namespace Modbus.Net
|
|||||||
{
|
{
|
||||||
while (!_taskCancel)
|
while (!_taskCancel)
|
||||||
{
|
{
|
||||||
|
if (_socketClient == null) break;
|
||||||
var receive = await _socketClient.ReceiveAsync();
|
var receive = await _socketClient.ReceiveAsync();
|
||||||
|
|
||||||
var len = receive.Buffer.Length;
|
var len = receive.Buffer.Length;
|
||||||
@@ -265,20 +266,19 @@ namespace Modbus.Net
|
|||||||
Controller.SendStop();
|
Controller.SendStop();
|
||||||
Controller.Clear();
|
Controller.Clear();
|
||||||
ReceiveMsgThreadStop();
|
ReceiveMsgThreadStop();
|
||||||
if (_socketClient.Client.Connected)
|
if (_socketClient != null)
|
||||||
{
|
{
|
||||||
_socketClient?.Client.Disconnect(false);
|
if (_socketClient.Client?.Connected == true)
|
||||||
|
{
|
||||||
|
_socketClient.Client.Disconnect(false);
|
||||||
|
}
|
||||||
|
_socketClient.Close();
|
||||||
}
|
}
|
||||||
_socketClient?.Close();
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Log.Error(ex, "Udp client {ConnectionToken} client close exception", ConnectionToken);
|
Log.Error(ex, "Udp client {ConnectionToken} client close exception", ConnectionToken);
|
||||||
}
|
}
|
||||||
finally
|
|
||||||
{
|
|
||||||
_socketClient = null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user