MINA框架編寫乙個通訊系統

2021-06-26 11:34:31 字數 1631 閱讀 6989

完成的目標:伺服器接受到客戶端的資訊後作出乙個反應(傳送一條資訊),客戶端獲得這條資訊(同乙個客戶端可以不停的傳送資料請求)。

上午的目標竟然在下午才能夠完成:

先來看看我們的伺服器端(server):

//**其實很簡單,但是我們一定要弄懂原理(越簡單的**我們要越小心)

public class minatimeserver

} 當然了,這段**是抄襲過來的。剛開始還挺佩服寫這個部落格的人,後來在mina官網上發現了這段**,瞬間我就有一種莫名的奇怪感遍布全身。

有了上面的啟動**後,我們還需要乙個非常重要的邏輯處理類:

public class timeserverhandler extends iohandleradapter

@override

public void messagereceived( iosession session, object message ) throws exception

date date = new date();

system.out.println(date.tostring());

session.write( date.tostring() );//此方法會觸發下面的messagesent方法

system.out.println("message written...");

system.out.println("message is: "+str); }

@override

public void sessionidle( iosession session, idlestatus status ) throws exception

@override 

public void messagesent(iosession session, object message) throws exception }

恩,上面就完成了乙個sever端的服務提供方了。下面我們來構造我們自己的client端:

public class client catch (interruptedexception e)

// }

}

}

//處理訊息的地方

class clienthandler extends iohandleradapter

public void setvalues(string values)

@override

public void sessionopened(iosession session)

@override

public void messagereceived(iosession session, object message)

throws exception

@override

public void messagesent(iosession session, object message) throws exception

} 完成乙個程式的編寫之後,我們會對框架有乙個概要的了解了。那麼下面就是真正的去研究一下架構的問題了。

編寫乙個通訊錄

題目要求 編寫乙個關於通訊錄的程式 1.可輸入姓名 可多個 通訊位址 email等必要的資訊 2.可根據姓名查詢 等資訊 最好還能根據 查詢姓名 並顯示在螢幕上 3.要求通訊錄儲存成檔案,如張三.txt,用檔案流的方式實現 4.最好用物件導向方法編寫。開發環境 qt creator 但是建立的是純c...

編寫乙個makefile

什麼是makefile?對於大多數的windows程式設計師來講,makefile可能不是那麼重要,因為windows的ide都為程式設計師做好了這個工作。但是在linux下程式設計,會不會寫makefile,從側面上說明乙個人是否具備完成大型工程的能力。makefile的作用 makefile是用...

編寫乙個webpack loader

loader是一種打包的方案,webpack預設只識別js結尾的檔案,當遇到其他格式的檔案後,webpack並不知道如何去處理。此時,我們可以定義一種規則,告訴webpack當他遇到某種格式的檔案後,去求助於相應的loader。新建loaders資料夾並建立三個loaders檔案 remove co...