【问题标题】:Alternative to maintaining timer at server side for every connected client为每个连接的客户端在服务器端维护计时器的替代方法
【发布时间】:2016-01-11 12:02:10
【问题描述】:

我有一个服务器端应用程序,其中需要在收到来自客户端的第一条消息时启动一个计时器(3 分钟)。最多可以有 100 个客户端连接到服务器。因此需要在 100 个线程中为每个客户端维护 100 个计时器(对于每个客户端)。是否有任何替代解决方案来维护这 100 个计时器(例如使用 epoll)?

编辑:计时器的目的是检查在接下来的 3 分钟内是否有来自客户端的消息。如果没有消息,则会给出错误指示。如果消息在 3 分钟内到达,则计时器到期并再次重新启动。

【问题讨论】:

    标签: sockets timer pthreads client-server posix


    【解决方案1】:

    另一种解决方案是为最早到期的客户端设置一个计时器。当该计时器到期(或被取消)时,您为下一个最早到期的客户端设置一个新计时器。

    【讨论】:

    • 我们不应该需要一个计时器来识别最早到期的客户端吗?在这种情况下,必须为每个客户端维护计时器?如果我错了,请纠正。
    • 您只需按到期时间对客户列表进行排序,以确定最早到期的客户。
    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 2020-06-26
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多