簡單例子:
客戶端:
// 建立客戶端聯結器.niosocketconnector connector = new niosocketconnector();
connector.getfilterchain().addlast("logger", new loggingfilter());
// 設定編碼過濾器
connector.getfilterchain().addlast(
"codec",
new protocolcodecfilter(new textlinecodecfactory(charset
.forname("utf-8"))));
connector.setconnecttimeout(30);
// 設定事件處理器
connector.sethandler(new clienthandler());
// 建立連線
connectfuture cf = connector.connect(new inetsocketaddress("127.0.0.1",
9100));
// 等待連線建立完成
cf.awaituninterruptibly();
// 傳送訊息
cf.getsession().write("hello");
// 等待連線斷開
cf.getsession().getclosefuture().awaituninterruptibly();
connector.dispose();
伺服器:
ioacceptor acceptor = new niosocketacceptor();acceptor.getfilterchain().addlast("logger", new loggingfilter());
// 指定編碼過濾器
acceptor.getfilterchain().addlast(
"codec",
new protocolcodecfilter(new textlinecodecfactory(charset
.forname("utf-8"))));
// 指定業務邏輯處理器
acceptor.sethandler(new serverhandler());
// 設定埠號
acceptor.setdefaultlocaladdress(new inetsocketaddress(9100));
// 啟動監聽
acceptor.bind();
server 處理器
class serverhandler extends iohandleradapter
@override
public void messagereceived(iosession session, object message)
throws exception
date date = new date();
// 返回當前時間的字串
session.write(date.tostring());
}}
MINA2 0簡單使用
一直知道mina是apache 開發的乙個開發socket程式設計框架,但一直沒弄清楚mina2.0裡的多執行緒該如何處理,根據apache提供的文件,使用mina2.0開發多執行緒的程式變的非常簡單,只用在其filter中加入執行緒池就可以了,感覺挺神奇,於是參考apache的其他專案,寫了個小例...
mina的伺服器與客戶端的例子
1 伺服器端 public class minaserver catch ioexception e 2 伺服器的業務邏輯處理 public class minaserverhandler extends iohandleradapter override public void messagere...
簡單的makefile例子
1.2.3 簡單的示例 本小節開始我們在第一小節中提到的例子。此例子由3個頭檔案和8個c檔案組成。我們講述寫乙個簡單的makefile,來描述如何建立最終的可執行檔案 edit 此可執行檔案依賴於8個c原始檔和3個頭檔案。makefile檔案的內容如下 sample makefile edit ma...