套接字服务器和NUnit:Thread.Sleep

时间:2020-05-11 10:31:18

标签: c# sockets testing nunit

我正在编写一个套接字服务器和客户端类,它们正在通过NUnit进行测试。

我编写了一个过程,该过程将检查所有客户端(如果它们仍处于连接状态)。为此,我创建了一个线程,但是我想要的是仅每5秒运行一次此检查。我的初衷是使用Thread.Sleep()。当我结束测试时,我正在服务器上运行Stop方法,该方法会中断所有活动线程,这导致Thread从等待状态被干扰。

我发现通过Task.Delay().Wait()还有其他选择,但这引起了同样的问题。

当我关闭服务器以结束此线程时,Thread.Sleep是否还有其他替代方法?线程在条件Thread.CurrentThread.IsAlive下运行while循环。

1 个答案:

答案 0 :(得分:0)

正如我在其他question中回答的那样,我找到了一个更好的解决方案,因为我只想在一段时间内(例如5秒钟左右)运行检查,所以这里的最佳用法是System.Threading.Timer类,适用于方法的牙周手术。