1、netty java
Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 编程
也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 能够确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端
应用。Netty至关简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。
“快速”和“简单”并不意味着会让你的最终应用产生维护性或性能上的问题。Netty 是一个吸取了多种协议的实现经验,这些协议包括FTP,SMTP,HTTP,各类二进制,文本协议,并通过至关精心设计的项目,最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。
二、mina 服务器
Apache Mina Server 是一个网络通讯应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通讯框架(然,也能够提供JAVA 对象的序列化服务、虚拟机管道通讯服务等),Mina 能够帮助咱们快速开发高性能、高扩展性的网络通讯应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 做为底层支持)操做的编程模型。Mina 主要有1.x 和2.x 两个分支,这里咱们讲解最新版本2.0,若是你使用的是Mina 1.x,那么可能会有一些功能并不适用。学习本文档,须要你已掌握JAVA IO、JAVA NIO、JAVASocket、JAVA 线程及并发库(java.util.concurrent.*)的知识。Mina 同时提供了网络通讯的Server 端、Client 端的封装,不管是哪端,Mina 在整个网统统信结构中都处于以下的位置: