单客户端服务器的最佳实践?

时间:2013-02-24 20:09:41

标签: java networking io

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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