当前位置:  开发笔记 > 编程语言 > 正文

Java套接字编程不适用于10,000个客户端

如何解决《Java套接字编程不适用于10,000个客户端》经验,为你挑选了3个好方法。

我可以创建多个线程来支持套接字编程中的多客户端功能; 这工作正常.但是如果要连接10,000个客户端,我的服务器就无法创建这么多线程.

如何管理线程以便我可以同时收听所有这些客户端?

此外,如果在这种情况下服务器想要向特定客户端发送内容,那么它怎么可能呢?



1> Chris Peters..:

您应该研究Java的NIO("新I/O")库以进行非阻塞网络编程.NIO旨在精确解决您所面临的服务器可扩展性问题!

关于NIO的介绍性文章:使用Java NIO构建高度可扩展的服务器

摘自O'Reilly的Java NIO书



2> erickson..:

Java中高度可扩展的套接字编程需要"新I/O"或NIO包中提供的可选择通道.通过使用非阻塞IO,单个线程可以为许多套接字提供服务,仅适用于那些准备就绪的套接字.

其中一个可扩展的开源NIO应用程序是Glassfish应用程序服务器的Grizzly组件.Jean-Francois Arcand撰写了许多关于他在该项目上的工作的内容丰富,深入的博客文章,并介绍了使用NIO编写此类软件时的许多微妙缺陷.

如果非阻塞IO的概念对您来说是新的,使用像Grizzly这样的现有软件,或至少使用它作为适应的起点,可能会非常有帮助.



3> Julien Chast..:

NIO的好处值得商榷.见保罗季马的博客文章在这里和这里.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有