Mina框架 Android客戶端長連線,斷線重連

2021-08-15 12:27:39 字數 1215 閱讀 4984

1.先建立乙個minaservice,在裡面配置niosocketconnector,建立客戶端ioclienthandler

connector = new niosocketconnector();

connector.setconnecttimeoutmillis(connectutils.timeout

);connector.getsessionconfig().setusereadoperation(true);

connector.getsessionconfig().setreadbuffersize(2048 * 2048);

connector.getfilterchain().addlast("mycoder"

, new protocolcodecfilter(new bytearraycodecfactory(charset.forname("gb2312"))));

connector.sethandler(new ioclienthandler());

2.連線服務端

connectfuture future = connector.connect(new inetsocketaddress(connectutils.host

, connectutils.port

));future.awaituninterruptibly();

session = future.getsession();

if (session.isconnected())

3.新增監聽

connector.addlistener(new heartbeatlistener(connector));
4.在ioclienthandler中的messagereceived接收服務端發過來的資料

public void 

messagereceived(iosession session, object message) throws exception

return buffer.substring(0

, buffer.length() - 1);

}

6.拿到資料可以通過messenger傳送資料到activity中

7.斷線重連,一般會呼叫

public void 

sessiondestroyed(iosession arg0) {

只需要在這個方法中執行重練操作就ojbk了.

MINA 框架簡介

1。mina 框架簡介 2。iosession session可以理解為伺服器與客戶端的特定連線,該連線由伺服器位址 埠以及客戶端位址 埠來決定。客戶端發起請求時,指定伺服器位址和埠,客戶端也會指定或者根據網路路由資訊自動指定乙個位址 自動分配乙個埠。這個位址 埠對構成乙個session。sessi...

Mina框架研究(3)

不堪回首 junotes filters iofilter 是mina框架中乙個核心的部分,如下圖,對間於ioservice和iohandle之間,用於過濾所有的i o事件和請求,其扮演的角色就像j2ee中的servlet。mina提供不少現成的過濾器 1 loggingfilter 日誌過濾器,用...

MINA 框架之IoService學習

在mina框架結構中我們知道,ioservice是mina應用程式的其中一層。它為server和client提供所有的io 服務。它處理你的應用程式和遠端對端的所有互動。其本身是乙個介面,在server端的實現為ioacceptor 在client端的實現為ioconnector 先來看看它的min...