在本文中,我只是整理了以下主流框架:

1。阿帕切米纳

项目主页:http://mina.apache.org/

它为开发高性能和高可用性网络应用提供了一个非常方便的框架,支持基于Java NIO技术的TCP/UDP应用程序开发和串行通信程序。

2,Grizzly

官方网站:http://xsocket.sourceforge.net/

与一般的NIO框架相比,设计有很大的不同。主要的区别在于读写都是阻塞的,并且使用了临时选择器。
线程模型是高度可配置的,但是根据作者的介绍,在运行选择器主线程来处理accept时,使用线程池来处理读写性能最好,这并不奇怪。

3,Netty

官方网站:http://netty.io/

它提供了一组基于事件的API来开发高性能、可管理的TCP/IP服务器或客户端应用程序。对于高性能的网络应用,netty提供了许多基本特性,如就绪选择、线程池、防止写缓冲区DoS、可重用缓冲区等。

4。氧化镍框架

构建在Java NIO库上,它封装了原始NIO的大部分复杂性。使用NIO框架,很容易开发安全和高性能的Java网络应用程序。

5。快速服务器

官方网站:http://www.quickserver.org/

一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户只能专注于应用程序的逻辑/协议。

6,XSOCKET

官方网站:http://xsocket.sourceforge.net/

基于NIO的轻量级服务器框架用于开发高性能石材、可扩展的多线程服务器。框架封装了线程处理、异步读/写等。

7,IOServer

与Apache的Mina相比,高性能、易于扩展的网络框架是轻量级的,源代码更容易读取。源代码中有很多详细的中文注释,这是一个很好的学习框架。该框架主要针对中国市场的移动网络游戏服务器端编程。

ioserver构建简单的服务器例程(更详细的例程可以下载例程包或访问wiki视图),服务器从客户机接收一个整数并将其返回给客户机。

8,XIIO

官方网站:http://xnio.jboss.org/

一个Java包,帮助您简化NIO应用程序开发;

提供一个独特且易于使用的API,它结合了阻塞和非阻塞操作。即使在同一个通道上,它也允许您利用简单和低延迟的阻塞I/O,同时也获得了非阻塞I/O的优势。

还引入了一个强大的基于回调的接口,以大大简化传统的基于状态机的非阻塞应用程序,并在应用程序之间实现吞吐量和延迟之间的完美平衡。