最近公司接了一个C/S架构下的项目我现在有一个问题找了很长时间没有找到确切的答案,还请做过j2se网络开发的朋友们帮个忙啊!客户端和服务器的通信我想采用TCP/IP直连的方式,并且这个直连是一直存在不关闭,除非客户端退出这个连接才会关闭。而且一个socket连接占用服务器一个线程。我现在不知道一个服务器最多可以直接多少个连接?(硬件的性能不考虑)一个java版的程序可以开通多少个线程?我在网上查过,魔兽世界游戏的一个服务器都是4000个TCP/IP连接,如果超出则进行排队。

解决方案 »

  1.   

    看系统--如果使用window32 JDK--顶死也就2048,一个Z有1M空间。实际1000多就很不稳定了。linux栈空间基本8M好像。如果单独买JDK64,回收算法,部署HP小型机,64G内存估计二万线程都没问题。
      

  2.   

     用NIO的XSHOCKET吧 
    http://xsocket.sourceforge.net/
      

  3.   

    为每一个客户一直挂着一个常连接SOCKET实在太恐怖了  用XSOCKET你会觉得性能好很多