公司因为业务需要,做一个很简单的服务器端,客户端利用c++编写的。
为了熟悉mina框架,我尝试着写了一个简单的不能再简单的程序。感觉mina还是很方便的。
下面这个是所有协议的基础类,任何协议都被定义成一个类,然后通过操作类进行业务方面的处理。
一开始的时候对mina了解不是很深刻,认为很复杂,其实写了几个程序,mina就算是入门了。先说mina是干什么的:通讯;mina的优势是什么?mina可以让开发人员摆脱那些线程控制、线程同步之类的很繁琐机制的处理。因为这些已经被mina做完了。我理解的mina是:把protocol封装成javabean然后针对每个protocol编写相应的编码、解码类。这里所谓的码就是在网络中传输的字节流。然后写出对应的handler进行处理。
Mina和java.util.nio的关系。在Mina官方主页上,有几句话描述mina的,说他是一个nio框架,那么这个nio和java.util.nio的关系是什么呢?java中的nio是把以前以一个线程对应一个connection阻塞,改成了一个线程轮询多个connection的机制,也就是以事件作为基础。但是多线程处理这块还是没有什么实质性进展。简而言之:就是mina在nio基础上加入了线程池、filter等概念。