網絡框架 - 安卓之Apache MINA

【誕生背景】

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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章