代码之家  ›  专栏  ›  技术社区  ›  Gordon Thompson

跟踪每个时间跨度内的事件数

  •  0
  • Gordon Thompson  · 技术社区  · 16 年前

    在C#中,跟踪每个时间跨度的事件数的最佳方法是什么?

    例如,在设置标志之前,我想将我的TCP应用程序限制在(比如)每分钟最多10个请求。TCP应用程序旨在尽可能高效,并作为windows服务运行。

    谢谢

    4 回复  |  直到 16 年前
        1
  •  0
  •   Polatrite    16 年前

    检查TimeSpan对象-在处理每个事件时跟踪DateTime,并使用TimeSpan比较差异。如果事件数量超过10,且时间跨度仍在60秒以下,则您将知道如何设置该标志。

        2
  •  0
  •   Foxfire    16 年前

    您不能真正限制TCP“事件”的数量,但可以限制发送的数据量(只需休眠返回数据的线程)。

    通过这种方式,您可以限制每个TCP连接使用的数据量(例如,最大为1k/秒)。

        3
  •  0
  •   Neil    16 年前

    在队列中放置时间戳。只要队列已满,就不要让事件发生。When DateTime.Now-timeSpan>下一个\u queue.TimeStamp中的\u item\u,从队列中删除该项。