【问题标题】:Socket Server and NUnit: Thread.SleepSocket 服务器和 NUnit:Thread.Sleep
【发布时间】:2020-05-11 10:31:18
【问题描述】:

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

我编写了一个进程,它会检查所有客户端是否仍处于连接状态。对于这个过程,我创建了一个线程,但我想要的是每 5 秒运行一次这个检查。我的第一个意图是使用Thread.Sleep()。当我结束测试时,我正在服务器上运行 Stop 方法,这会中断所有活动线程,从而导致 Thread 从等待状态中断。

我通过Task.Delay().Wait() 发现有替代方案,但这会导致同样的问题。

当我关闭服务器以结束此线程时,是否有任何其他替代 Thread.Sleep 或任何其他方式?线程正在运行 while 循环,条件为 Thread.CurrentThread.IsAlive

【问题讨论】:

  • Dictionary<connectionID, DateTime> 日期时间表示您上次检查的时间。循环可以进行检查。
  • 哈!这听起来像是一个很好的解决方法!

标签: c# sockets testing nunit


【解决方案1】:

正如我在另一个question 中回答的那样,我找到了一个更好的解决方案,因为我只想在一段时间内(比如5 秒左右)运行检查,这里的好用法是System.Threading.Timer 类,适合用于定期运行的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 2018-01-05
    相关资源
    最近更新 更多