为何使用MINA?
NIO与BIO:
网络应用程序的编写通常是被视为难题,开发量大。
而BIO与NIO最大差别便是:BIO中我们发出一个请求,必须一直等待,直到得到响应。在server端,一个线程被关联到一个客户端连接,所以不必处理复杂的多路复用连接。
在NIO中,你不得不处理非阻塞系统的同步特性方面的东西,即我们的应用程序在某些事件发生时,会被调用;我们不必发出请求后一直等待,而是可以做其他事情,当结果返回时会通知我我们。
框架的重要性:
MINA能够处理TCP、UDP,并提供了一层串行通信(RSC232),基于VmpPipe或者APR
MINA同时可用在服务端和客户端。
MINA的优势:
1、使用简单
2、用户连接数量少时,BIO也许比NIO更快,但是NIO可以处理百万级别的连接,但是BIO却不能,不可能一个用户分配一个线程。
3、MINA有成功案例,不必自己花费时间在网络层处理错误。
4、MINA支持多种协议:: HTTP, XML, TCP, LDAP, DHCP, NTP, DNS, XMPP, SSH, FTP等,它是一个NIO框架,也是一个一系列协议的实现。
特征:
MINA是一个简单但功能齐全的网络应用程序框架:
1、为各种协议提供统一API:
a) TCP/IP、UDP/IP使用Java NIO
b) 串行通信使用RCTX
c) In-VM 管道传输
d) 自定义协议