Java程序使用NIO框架

6

我正在研究Java NIO相关内容。我需要找到一些基于这个框架的代表性应用程序。欢迎提供建议!越多越好!

谢谢。

7个回答

9

Apache MINA网络框架建立在NIO之上,被许多应用程序用于提供高性能网络。

Apache MINA是一个网络应用程序框架,可以帮助用户轻松开发高性能和高可伸缩性的网络应用程序。它通过Java NIO提供抽象、事件驱动和异步API,支持TCP/IP和UDP/IP等多种传输方式。

Apache MINA通常被称为:

  • NIO框架或库
  • 客户端/服务器框架或库
  • 网络套接字库

然而,它不仅仅是这些。请查看功能列表,了解快速开发网络应用程序的功能,并了解MINA的用户评价。请下载并尝试我们的快速入门指南,浏览常见问题解答或加入我们的社区。

我相信JETTY使用continuations来支持5000多个HTTP Comet连接,使用Servlet 3.0 continuations。
此外,您可以查看BlazeDS NIO实现(基本上是一个开源的LCDS)。 http://blogs.webtide.com/athena/entry/asynchronous_blazeds_polling_with_jetty

链接已失效!> http://blogs.webtide.com/athena/entry/asynchronous_blazeds_polling_with_jetty - Nitesh Verma
MINA仅支持NIO而不支持NIO.2。Netty支持后者,但他们的文档非常糟糕。 - Mitaksh Gupta

6

Netty

Netty是一个NIO客户端服务器框架,可快速简便地开发协议服务器和客户端等网络应用程序。它大大简化和精简了网络编程,如TCP和UDP套接字服务器。


2
Grizzly是一个HTTP连接器,使用NIO技术。它已经被应用在Sun Glassfish Java EE应用服务器中,并且也可以在Apache Tomcat Java servlet容器中使用。它不仅支持Comet(一种HTTP推送思想),而且具有良好的可扩展性,可以在单个线程上处理多达约20,000个并发HTTP连接,而不是在许多线程上处理约5,000个并发HTTP连接。

1

0

我相信Adobe LCDS是基于Java NIO运行的。


看起来Adobe LCDS是专有的,所以我们无法访问代码。这将很难研究它。但是,谢谢! - peng

0

我在SourceForge上开始了一个名为JInSim的开源项目,它使用nio。虽然我不再是其中的活跃开发者,但我相信这部分仍然保持不变。这是一个较小规模的库,允许人们为汽车赛车模拟器Live For Speed编写客户端。

JInSim链接


0

Jetty,这个流行的Web应用程序服务器可以使用NIO。请查看不同的套接字连接器。Jetty还可以使用continuations来处理异步Web请求。

Project Voldemort,一个分布式键/值存储,也可以配置为使用NIO进行套接字连接,并使用库的部分来从其只读数据存储中读取。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接