1.目前为止,看到写mina最清晰的一篇博客:https://my.oschina.net/ielts0909/blog/85946!
2.官网的开发文档:http://mina.apache.org/mina-project/developer-guide.html
3.mina有个非常重要的部分为解码器,因为网络的通讯环境很有可能是并发的,此时会遇到遇到数据包丢失(丢包),数据包残缺(半包),还有粘包问题。所以,如何重写解码的函数非常重要!
参考链接:http://blog.csdn.net/rchm8519/article/details/38418083 http://blog.csdn.net/c1481118216/article/details/52826250
http://blog.csdn.net/loseleo/article/details/9141783 http://www.iteye.com/topic/1125178
4.Iobuffer的使用:https://www.cnblogs.com/zzt-lovelinlin/p/5292608.html http://blog.csdn.net/sunzhenhua0608/article/details/31778519
5.mina线程设置:http://blog.csdn.net/yoara/article/details/37597141 http://blog.csdn.net/mrliu20082009/article/details/6990812 http://www.iteye.com/problems/101030
线程的产生过程:
- 当 IoAcceptor/IoConnector实例创建的时候,同时一个关联在IoAcceptor/IoConnector上的IoProcessor线程池也被创建。
- 当IoAcceptor/IoConnector建立套接字(IoAcceptor 的bind()或者是IoConnector 的connect()方法被调用)时,从线程池中取出一个线程,监听套接字端口。
- 当 IoAcceptor/IoConnector监听到套接字上有连接请求时,建立IoSession 对象,从IoProcessor池中取出一个IoProcessor线程执行IO处理。
- 如若过滤器中配置了“threadPool”过滤器,则使用此线程池建立线程执行业务逻辑(IoHandler)处理,否则使用IoProcessor线程处理业务逻辑。