我做c select模型用的比较多 windows下也可以用多线程 不过一般不采用 完成端口在大规模连接的情况下用的比较多。想用java写个管理大量连接的程序 如果只是多线程似乎很耗费资源有朋友做过吗 给点意见

解决方案 »

  1.   

    连接池似乎解决不了我的问题,我需要保持多个连接,也就是说也许同时要保持上100个连接,而这些连接都是长期的。
    我需要的是一种通知机制,也就是说一种消息,如windows 中 waitformulitiobject,在网络连接有action发生的时候,我可以等到通知,我想知道java soceketyo
      

  2.   

    我想知道java socket有没有这样的机制存在
      

  3.   

    你根本就不该用java开发这种程序,java不是给效率要求高的需求用的,windows的完成端口很好,继续使用吧
      

  4.   

    这个只需要你自己实现一下就可以了。c下面你说的那个,叫异步socket,如果你不用mfc或者其他类库的话,你还是需要自己做线程实现。在java下,如果你想实现异步socket。也很简单。结合队列,线程池,就完全可以了。不过,如果你要实现并发连接比较大的话,不光是程序的问题。当然,像你说得,同时保持100个连接,那不会有很大问题,当然还要看你的连接是怎么处理的,如果仅仅是发送一些小数据,并不会做大数据处理,那连1000,问题都不大。呵呵,weblogic等最成功的中间件服务器,都是用java开发的,因此不要怀疑java是否能够完成,关键是要看自己的水平
      

  5.   

    使用非阻塞IO
    参考jdk中java.nio包中的
    ServerSocketChannel、SelectableChannel、 SelectionKey等类
    IBM中国网站上有这方面资料