【问题标题】:Best practice for single client servers?单客户端服务器的最佳实践?
【发布时间】:2013-02-24 20:09:41
【问题描述】:

最好是启动一个线程来处理一个客户端,而另一个线程用于连接但告诉他们服务器很忙,或者我应该坚持使用单线程方法,其中同一个线程接受并处理客户端所以其他人无法连​​接到它? (如果是这样的话)

编辑:我应该注意不会有 239482340 人连接到它。通常只有一个人会连接到服务器,但我希望我的应用能够处理另一个尝试连接而不会跌倒的人。

【问题讨论】:

    标签: java networking io


    【解决方案1】:

    坚持单线程对服务器来说更好,因为资源消耗非常低。但是,这对客户端来说可能很烦人,因为它不知道服务器是否有问题或只是忙。

    拥有告诉其他用户服务器正忙的线程会占用更多资源,但对客户端来说更好。

    在您的特定情况下,任何一种方法都应该没问题。我想这真的取决于客户和他们想要什么......:-/

    【讨论】:

    • 用户体验在这里很重要,所以也许我付出努力会更好。感谢您的提示!
    【解决方案2】:

    构建此类系统通常使用两种主要策略:

    • 一种基于多线程策略的解决方案,为每个传入请求分配不同的线程或进程。此模型用于许多商业服务器
    • 事件驱动模型基于使用非阻塞 I/O 操作来同时响应来自不同客户端的多个请求。这是一种不断发展的方法。

    【讨论】:

      猜你喜欢
      • 2020-08-15
      • 1970-01-01
      • 2020-11-11
      • 2012-05-24
      • 1970-01-01
      • 2011-01-24
      • 2013-02-25
      • 2015-05-30
      • 1970-01-01
      相关资源
      最近更新 更多