摘要:本文對即時通訊系統(tǒng)進行剖析,從系統(tǒng)客戶端與系統(tǒng)服務器兩個方面探析設計與實現(xiàn),為相關研究人員提供理論參考依據(jù),加大研究力度。
關鍵詞:設計與實現(xiàn) 即時通訊系統(tǒng) 客戶端
前言
即時通訊(IM)主要是在互聯(lián)網中接收與發(fā)送各種消息的業(yè)務。該系統(tǒng)的出現(xiàn)拓展了人們生活交流空間。
1.即時通訊系統(tǒng)的設計與實現(xiàn)
當客戶和客戶進行通訊時,需要將信息發(fā)送到服務器上,服務器對信息進行處理后發(fā)到另一個客戶端上。其系統(tǒng)的拓撲結構如下圖:
圖1 系統(tǒng)的拓撲結構
1.1設計客戶端及實現(xiàn)
1.1.1 客戶端的設計
本文的客戶端使用Google作為承載設備,其框架選擇了Android系統(tǒng)架構,它主要分為5個組成部分,以下對這幾個組成部分略作闡述。
1)Linux Kernel;Android系統(tǒng)架構是在Linux 2.6所提供的核心服務;而Linux Kernel則是一個抽象層,隱藏硬件上的細節(jié)給上層服務。
2)Android Runtime;Android構架中存在核心庫集合,能夠提供各種JAVA編程的語言核心功能。
3)Libraries;Android中也有C/C++庫集合,它是經過Android中的使用程序給開發(fā)者提供使用。
4)Application Framework;Android能夠為開發(fā)者提供新穎與豐富的應用程序。開發(fā)者可隨心所欲使用訪問位置信息、硬件優(yōu)勢及后臺服務。
5)Applications;這是核心應用程序的集合,包含了SMS程序、地圖、日歷及瀏覽器等。
1.1.2 客戶端的實現(xiàn)
客戶端使用了MVC設計模式,把數(shù)據(jù)界面、模型及邏輯合理分離,進而展示出客戶端的條理清晰,進一步改善與擴充功能。
當用戶填寫好注冊信息點擊按鈕成功后,會返回6位數(shù)的ID號,這是用戶登錄憑證。如下圖:
圖2注冊界面
實現(xiàn)客戶端的注冊代碼較多,本文就不一一列出,列舉以下代碼作為示范:
public class RegistView extends Dialog implements OnClickListener{
private Context context;
public RegistView(Context context) {
super(context);
this.context = context;
}
……
2.2設計服務器及實現(xiàn)
1)服務器的設計
本文設計服務器中的承載平臺使用了Google App Engine。這種程序極易進行構建與維護,且Google App Engine還能夠支持多種編寫語言應用程序的運行,以及提供專用Python 運行環(huán)境。在該構架中,客戶使用哪種資源就要為哪種資源而付費,無設置成本,也無重復費用,如果客戶成為了付費用戶,其各種配額還會相應提升,完全超過免費水平的范圍。
2)服務器的實現(xiàn)
對于服務器實現(xiàn)來說,主要有服務器的用戶組注冊、用戶登錄、在線服務幾大板塊。該模塊產生出6位數(shù)的ID,還要從信息庫中搜索沒有相同的ID號,之后對注冊數(shù)據(jù)包進行解析,生成用戶對象,并將這些信息返回到客戶端。如下圖:
圖3注冊模塊類圖
實現(xiàn)服務器的注冊代碼較多,本文就不一一列出,列舉以下代碼作為示范:
public void regist(HttpServletRequest req, HttpServletResponse resp)
{String getPack = (String) req.getAttribute(\"pack\");
String newPack = 1;
ParseInterface parse = new ParseImpl();
ProtocolPackageInterface ppi = new ProtocolPackageImpl( );
PersistenceManager pm = PMF.get().getPersistenceManager( );
……}
3.結束語
總之,本設計通過實現(xiàn)來看是具有使用價值,但是因設計自身有一些Bug導致不穩(wěn)定。因此,還要對即時通訊系統(tǒng)設計進一步優(yōu)化、加強,完善漏洞,讓該即時通訊系統(tǒng)具有使用價值。
參考文獻:
[1]楊文志.Google Android程序設計指南[M].電子工業(yè)出版社.2009年
[2]余志龍. Google Android SDK開發(fā)范例大全(第2版)[M].人民郵電出版社,2010年
[3]楊豐盛. Android應用開發(fā)揭密[M]. 機械工業(yè)出版社,2010年
[4]郭宏志. Android應用開發(fā)詳解[M]. 電子工業(yè)出版社,2010年