【誕生背景】
Socket是一種很少用的東西了,而且又是阻塞性的,
So,MINA 出現了(socket進行的第三次封裝)。
爲什麼是第三次封裝?
答: 第二次封裝是NIO 用法,太過複雜,所以進行了第三次封裝。
【概念】
Apache MINA ,是一個網絡應用程序框架,用來幫助用戶簡單地開發高性能和高可擴展性的網絡應用程序。它提供了一個通過Java NIO在不同的傳輸例如TCP/IP和UDP/IP上抽象的事件驅動的異步API。
【爲什麼用?】
a.MINA 在網上的資料比較全,用的也比較廣泛。
b.提供了事件驅動、異步操作的編程模型。(備註:Mina 的異步IO ,默認使用的是 JAVA NIO 作爲底層支持)
【android+mina 開發環境搭建 】
1.服務器端:
a.引入json-lib-2.0-jdk15.jar,mina-core-2.0.4.jar,slf4j-api-1.6.3.jar,slf4j-simple-1.6.3.jar,
b.這個直接右鍵項目,properties ---> javabuild path ---> add external jars
2.客戶端:(注意:很容易報NoClassDefException的錯誤
!!!)
a.在android工程下新建文件夾Libs,
b.在libs上右鍵useas source folder(這個很重要),
c.將mina-core-2.0.4.jar,slf4j-android-1.6.1-RC1.jar 放到libs下,
d.右鍵這兩個jar,addto
buildpath
e.配置完成
備註:
下面提供的Demo,不需要自己搭建服務器環境。因爲安卓手機,同時充當客戶端和服務器,代碼主要是爲了瞭解,框架中的類的操作,熟悉原理。
【開發常識瞭解 - 課外概念】
掌握JAVA
IO、JAVA NIO、JAVASocket、JAVA 線程,併發庫(java.util.concurrent.*)
【MINA 基本類的描述】
IoAccepter
相當於網絡應用程序中的服務器端
IoConnector 相當於客戶端
IoSession 當前客戶端到服務器端的一個連接實例
IoHandler 業務處理邏輯
IoFilter 過濾器用於懸接通訊層接口與業務層接口
【Demo下載】
http://download.csdn.net/detail/zgxzgxzg/8907029