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線程處理業務邏輯。