mina作為高效能的可應對高併發訪問的nio框架,特性就不多介紹了。下面提供一些使用的例項。
伺服器端**:
/**
* description 用來啟動mina服務端
* @author administrator
* 2012-10-21
*/public class minatimeserver
}
伺服器端程式的業務處理器:
/**
* description 業務邏輯處理器timeserverhandler,繼承自iohandleradapter,
* 實現的功能有:當客戶端建立會話時會顯示客戶端裝置的ip和埠;當客戶端輸入quit時結束會話;客戶端輸入其它內容時則向客戶端傳送當前時間。
* @author administrator
* 2012-10-21
*/public class timeserverhandler extends iohandleradapter
@override
public void messagereceived(iosession session, object message)
throws exception
date date = new date();
session.write("server return to client: " + date.tostring()); //返回當前時間的字串
system.out.println("message written..." + str);
}}
這時可以進行測試前面的**,用命令列中輸入:
telnet 127.0.0.1 9123
伺服器端會收到客戶端的連線資訊,顯示:
client ip:/127.0.0.1:3815
然後在telent視窗中輸入字元:test123
伺服器端會列印:message written...test123
客戶端顯示伺服器端返回的資訊:server return to client: sun oct 21 17:22:09 cst 2012
可看出mina的客戶端和伺服器端可以相互進行通訊。
下面是mina客戶端的連線類**:
/**
* description minatimeclient類用於連線服務端,並向服務端傳送訊息
* @author administrator
* 2012-10-21
*/public class minatimeclient
}
客戶端連線類用到的處理器**:
/**
* description timeclienthandler處理訊息接收事件
* @author administrator
* 2012-10-21
*/public class timeclienthandler extends iohandleradapter
@override
public void messagereceived(iosession session, object message)
throws exception
}
啟動程式測試:
開始->執行->cmd->tecnet 127.0.0.1 9123
通過jdk自帶工具jvisualvm檢視執行緒:
可看到幾個執行緒:
niosocketacceptor-1為伺服器端監聽埠9999通過執行緒池建立的乙個執行緒。
nioprocessor-2為ioprocessor執行緒池建立的執行緒,用來io處理。
pool-3-thread-3為過濾器配置的執行緒池建立的執行緒,用來業務邏輯處理。
MINA框架應用入門範例
一 mina框架簡介 二 mina框架的常用類 ioaccepter 相當於伺服器端 ioconnector 相當於客戶端 iosession 當前客戶端到伺服器端的乙個連線例項 iohandler 業務處理邏輯 iofilter 過濾器用於懸接通訊層介面與業務層介面 三 範例源 下面的介紹以 ap...
Xsocket與Mina使用感受
mina使用了一次,有一段時間沒關注了。不過其的用法和功能還記得。mina是乙個大型一點的網路框架,支援多種協議,使用起來也較簡單,其 中提供的原始碼中含有example,不過有一些情況下需要擴充套件其過濾器類。支援非同步。其主要方法為 onmessage xsocket剛使用,現在正在使用中。xs...
MINA2 0簡單使用
一直知道mina是apache 開發的乙個開發socket程式設計框架,但一直沒弄清楚mina2.0裡的多執行緒該如何處理,根據apache提供的文件,使用mina2.0開發多執行緒的程式變的非常簡單,只用在其filter中加入執行緒池就可以了,感覺挺神奇,於是參考apache的其他專案,寫了個小例...