深入理解
Apache Mina ----
Mina 的几个类 Author: 中國壹石頭
--------------------------------------------- ------- ------------------------------------------------------------------
What we
cal l
human nature is actually human habbit
.
深入理解 Apache Mina ---- Mina 的几个类
最近一直在看 Mina 的源码,用了 Mina 这么长时间,说实话,现在才开始对 Mina 有了一 些
深刻的理解,关于 Mina 的基本知识的介绍,这里就不多说了,网上已经有很多不错的文 章
都对 Mina 做了较深刻的剖析, 现在就是想从 Mina 的最根本的地方来对 Mina 做一些深层 次
上的探讨。
还是先从 Mina 的入口程序来说,每当要启动一个 Mina 的程序(包括服务器和客户端)时
候,这里只是对服务器重点做一些讲解,至于说 Mina 的客户端的应用,这里只是简单的 涉
及一点, 不会对其做很深入的探讨。 但是 Mina 的服务器和客户端在很大的程度上都是一
样,
所以这里就 “ 挂一漏万 ” 的简单讲解一下。
在此之前我一直想找一种
“ 串糖葫芦
”
的方式来讲解一下 Mina , 可是一直没有时间来看 M ina
的源码,真的是无从下手,虽然网上的很多关于 Mina 的一些文章,讲解的非常透彻了, 但
是可能对于初学者来说,显得有些深奥,在这里特别的提一下洞庭散人对 Mina 源码的透 彻
的分析,如果你对 Mina 已经有了一定的了解或者是正在学习 Mina 的源码,建议你去看看
他的博客,里面有很多东西讲的是相当到位的。在这里就不在多举例子了。 写这篇文档主 要
是想对刚接触 Mina 的人讲解一些 Mina 的基本知识,由浅入深,一步一步的学习 Mina 思 想
的精髓 ,我接触 Mina 的时间也比较长了,几乎天天在和它打交道,每当你发现一个新奇 的
用法的时候,你真的会被 Mina 所折服,我这里不是对 Mina 的吹捧,记得我曾经和同事开
玩笑说,
“ 等真正的懂得了 Mina ,你就知道什么叫 Java 了
”
,所以,我现在想急切的把现 在
所知道和了解的所有关于 Mina 的一些东西都想在这篇文章里面写出来,如果有写的不到 位
的地方还请各位同学多多指正,下面就开始对 Mina 做一个完整的介绍。
一、
先说说 Mina 的几个类和接口
( 1 ) IoService
( 2 ) BaseIoService
( 3 )
BaseIoAcceptor
( 4 ) IoAcceptor
( 5 ) IoConnector
这几个类和接口是整个服务器或客户端程序( IoConnector ) 的入口程序,其中就 Mina 的 整
体上来说,
IoService 是所有 IO 通信的入口程序, 下面的几个接口和类都是继承或者实现 了
IoService 接口。