diff --git a/Modbus.Net/Modbus.Net/Controller/BaseController.cs b/Modbus.Net/Modbus.Net/Controller/BaseController.cs
index 38cc46b..b921b62 100644
--- a/Modbus.Net/Modbus.Net/Controller/BaseController.cs
+++ b/Modbus.Net/Modbus.Net/Controller/BaseController.cs
@@ -24,7 +24,7 @@ namespace Modbus.Net
///
/// 消息维护线程是否在运行
///
- public virtual bool? IsSending => SendingThread?.Status.Equals(TaskStatus.Running);
+ public virtual bool? IsSending => SendingThread?.Status == TaskStatus.Running || SendingThread?.Status == TaskStatus.WaitingToRun || SendingThread?.Status == TaskStatus.Created;
///
/// 包切分位置函数
@@ -71,7 +71,12 @@ namespace Modbus.Net
protected abstract void SendingMessageControlInner();
///
- public abstract void SendStop();
+ public virtual void SendStop()
+ {
+ SendingThread.Dispose();
+ SendingThread = null;
+ Clear();
+ }
///
public virtual void SendStart()
diff --git a/Modbus.Net/Modbus.Net/Controller/FifoController.cs b/Modbus.Net/Modbus.Net/Controller/FifoController.cs
index 79a1acb..a14b478 100644
--- a/Modbus.Net/Modbus.Net/Controller/FifoController.cs
+++ b/Modbus.Net/Modbus.Net/Controller/FifoController.cs
@@ -83,7 +83,7 @@ namespace Modbus.Net
}
}
}
- Clear();
+ SendStop();
}
///
@@ -96,8 +96,8 @@ namespace Modbus.Net
///
public override void SendStop()
{
- Clear();
_taskCancel = true;
+ base.SendStop();
}
///