滕向宇
[摘 要] 主要設(shè)計(jì)了JAVA即時(shí)通信技術(shù)的基本功能。現(xiàn)在系統(tǒng)功能雖然已經(jīng)設(shè)計(jì)完成,但在技術(shù)上仍然有待于提高。如建立群聊功能、建立視頻聊天、建立語音聊天等。即時(shí)通信,由于其具有實(shí)時(shí)性、跨平臺(tái)性、成本低、效率高等優(yōu)點(diǎn)而受到廣泛的使用。設(shè)計(jì)并實(shí)現(xiàn)一個(gè)能夠處理多用戶進(jìn)行實(shí)時(shí)、安全的即時(shí)通信系統(tǒng)具有較強(qiáng)的現(xiàn)實(shí)意義。該系統(tǒng)設(shè)計(jì)基于JAVA的簡(jiǎn)單即時(shí)通信系統(tǒng),系統(tǒng)采用C/S模式。
[關(guān)鍵詞] 即時(shí)通信;系統(tǒng);JAVA;C/S
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2017. 11. 075
[中圖分類號(hào)] TP311 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1673 - 0194(2017)11- 0153- 02
0 前 言
即時(shí)通信工具以實(shí)時(shí)交互、資費(fèi)低廉等優(yōu)點(diǎn),受到了廣大個(gè)人用戶的喜愛,成為網(wǎng)絡(luò)生活中不可或缺的一部分。 即時(shí)通信系統(tǒng)主要是由服務(wù)端和客戶端兩部分組成:服務(wù)端是整個(gè)即時(shí)通信系統(tǒng)運(yùn)作的樞紐,包括登錄、數(shù)據(jù)庫(kù)設(shè)定、服務(wù)器參數(shù)設(shè)定、啟動(dòng)服務(wù)、關(guān)閉服務(wù)、組織結(jié)構(gòu)管理、用戶管理、公告管理、個(gè)性化設(shè)計(jì);客戶端是即時(shí)通信系統(tǒng)中主要的交流途徑,是系統(tǒng)中使用頻率最高、使用覆蓋面最廣的一個(gè)模塊,這個(gè)模塊的設(shè)計(jì)除了功能實(shí)現(xiàn)外,人機(jī)交互的友好性也是系統(tǒng)設(shè)計(jì)要考慮的一個(gè)重要因素。
1 系統(tǒng)概述
服務(wù)器端模塊的具體內(nèi)容。
1.1 消息處理模塊,對(duì)來自客戶端請(qǐng)求的消息進(jìn)行接收
如果接收的消息是一個(gè)請(qǐng)求,比如添加好友,則調(diào)用相關(guān)的請(qǐng)求處理模塊進(jìn)行處理,并發(fā)送處理結(jié)果至客戶端。如果是一條信息,則對(duì)該信息進(jìn)行轉(zhuǎn)發(fā)或調(diào)用數(shù)據(jù)處理模塊將信息添加到數(shù)據(jù)庫(kù)。
1.2 請(qǐng)求處理模塊,對(duì)來自客戶端請(qǐng)求的消息進(jìn)行分析
通過分析后服務(wù)器端將會(huì)把相應(yīng)的結(jié)果返回給客戶端。
1.3 數(shù)據(jù)處理模塊,操作用戶數(shù)據(jù)的模塊
供消息處理模塊和請(qǐng)求處理模塊調(diào)用,對(duì)用戶數(shù)據(jù)進(jìn)行操作,將操作后的數(shù)據(jù)保存至數(shù)據(jù)庫(kù)中。
2 客戶端模塊的具體內(nèi)容
(1)注冊(cè)模塊。獲取用戶輸入的注冊(cè)信息,發(fā)送至服務(wù)器端進(jìn)行注冊(cè)。
(2)登錄模塊。將用戶輸入的用戶名和密碼發(fā)送至服務(wù)器端進(jìn)行驗(yàn)證,并等待服務(wù)器端返回的結(jié)果。
(3)聊天模塊。向好友發(fā)送消息或留言,模塊將消息發(fā)送至服務(wù)器端,服務(wù)器端對(duì)消息進(jìn)行分析,并實(shí)現(xiàn)相應(yīng)的操作。
(4)好友管理模塊。模塊將會(huì)向服務(wù)器端發(fā)送相關(guān)請(qǐng)求,并返回相應(yīng)結(jié)果給用戶。
(5)用戶管理模塊。模塊將會(huì)向服務(wù)器端發(fā)送相關(guān)請(qǐng)求,并返回相應(yīng)結(jié)果給用戶。
3 系統(tǒng)功能分析
注冊(cè)模塊包括用戶名,昵稱,密碼,確認(rèn)密碼這些基本信息。用戶填寫好這些基本信息后即可進(jìn)行登錄。
登錄模塊主要包括用戶名和密碼基本信息。用戶輸入用戶名和密碼進(jìn)行登錄,身份驗(yàn)證通過即登錄成功,進(jìn)入用戶主界面,可進(jìn)行聊天、查找好友等操作(如果用戶名不正確,則提示未找到該用戶;如果密碼不正確,則提示密碼錯(cuò)誤)。
聊天模塊主要用來向好友發(fā)送消息或留言、發(fā)送文件和聊天記錄這些基本信息,用戶打開聊天框架向好友發(fā)送消息或留言后,服務(wù)器會(huì)對(duì)消息進(jìn)行分析并進(jìn)行相應(yīng)的處理。如果消息可行,服務(wù)器將會(huì)把消息發(fā)送至對(duì)方好友;如果消息出現(xiàn)錯(cuò)誤,服務(wù)器將會(huì)把消息返回至用戶以便修改。
好友管理模塊主要包括添加好友和查找好友這些基本信息。用戶在主界面中可進(jìn)行好友管理操作,好友管理其中包括添加好友和根據(jù)昵稱添加好友。單擊添加好友輸入好友用戶名,單擊根據(jù)昵稱添加好友輸入好友昵稱,消息將發(fā)送至服務(wù)器端,服務(wù)器會(huì)對(duì)消息進(jìn)行分析并進(jìn)行相應(yīng)的處理,對(duì)方系統(tǒng)將會(huì)顯示好友添加請(qǐng)求消息,對(duì)方單擊是則添加好友成功,對(duì)方單擊否則拒絕添加你為好友(如果不存在該用戶則提示未找到該用戶,如果該用戶已經(jīng)是你好友則提示你與該用戶已經(jīng)是好友)。
用戶管理模塊包括ID,昵稱,性別,所在城市和簡(jiǎn)介這些基本信息。用戶在主界面中可對(duì)用戶自己自身的資料進(jìn)行管理,在主界面中單擊頭像可對(duì)用戶頭像進(jìn)行管理(拉伸,原始或修改頭像),同時(shí)還可對(duì)用戶自身的ID,昵稱,性別,所在城市和簡(jiǎn)介這些信息進(jìn)行添加或修改。
4 系統(tǒng)設(shè)計(jì)
根據(jù)系統(tǒng)分析階段所確定的系統(tǒng)的功能,就可設(shè)計(jì)出一個(gè)能在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境上實(shí)施的方案,即建立新系統(tǒng)的物理模型。這個(gè)階段的任務(wù)是設(shè)計(jì)軟件系統(tǒng)的模塊層次結(jié)構(gòu),以及設(shè)計(jì)模塊的控制流程,其目的是明確軟件系統(tǒng)“如何做”。該系統(tǒng)主要從總體設(shè)計(jì)和子模塊設(shè)計(jì)兩方面來介紹系統(tǒng)設(shè)計(jì)。
4.1 系統(tǒng)總體設(shè)計(jì)
總體設(shè)計(jì)又叫概要設(shè)計(jì),是確定軟件如何做的過程。JAVA即時(shí)通信系統(tǒng)分為服務(wù)器端和客戶端兩大模塊。其中,服務(wù)器端模塊又分為消息處理模塊、請(qǐng)求處理模塊、數(shù)據(jù)處理模塊三大子模塊,客戶端模塊又分為注冊(cè)、登錄、聊天、好友管理、用戶管理五大子模塊。
4.2 系統(tǒng)流程
系統(tǒng)流程是用來對(duì)系統(tǒng)進(jìn)行進(jìn)一步的模塊劃分及細(xì)化的一個(gè)過程。該系統(tǒng)的系統(tǒng)流程過程如下。
從數(shù)據(jù)起點(diǎn)注冊(cè)輸入注冊(cè)信息數(shù)據(jù)流通過注冊(cè)成功的變換處理進(jìn)入數(shù)據(jù)終點(diǎn)登錄。再?gòu)臄?shù)據(jù)起點(diǎn)登錄開始,通過輸入登錄信息數(shù)據(jù)流和登錄成功變換處理可進(jìn)入聊天、好友管理和用戶管理三個(gè)數(shù)據(jù)終點(diǎn)。而后以聊天為數(shù)據(jù)起點(diǎn),通過輸入聊天信息的數(shù)據(jù)流和發(fā)送成功的變換處理,進(jìn)入聊天記錄的數(shù)據(jù)終點(diǎn)。同樣,以好友管理為數(shù)據(jù)起點(diǎn),通過輸入添加好友數(shù)據(jù)流和添加好友成功變換處理,進(jìn)入更新后好友列表數(shù)據(jù)終點(diǎn)。以用戶管理為數(shù)據(jù)起點(diǎn),通過輸入修改資料數(shù)據(jù)流和修改成功變換處理,進(jìn)入更新后用戶信息數(shù)據(jù)終點(diǎn)。
4.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)厙設(shè)計(jì)(Database Design)是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫(kù)管理系統(tǒng)上,設(shè)計(jì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)和建立數(shù)據(jù)庫(kù)的過程。就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象以及這些數(shù)據(jù)對(duì)象之間關(guān)系的過程。該系統(tǒng)主要通過E-R圖和邏輯結(jié)構(gòu)設(shè)計(jì)圖來介紹數(shù)據(jù)厙設(shè)計(jì)。系統(tǒng)E-R圖包括實(shí)體、屬性和實(shí)體與屬性之間的關(guān)系三大類。其中關(guān)系包括一對(duì)一、一對(duì)多、多對(duì)多的關(guān)系。該系統(tǒng)的實(shí)體有用戶和好友兩個(gè)實(shí)體,其中用戶實(shí)體有用戶名、昵稱、密碼、所在城市、頭像和性別這些屬性,好友實(shí)體有用戶號(hào)和好友號(hào)兩個(gè)屬性。用戶和好友之間的關(guān)系是管理關(guān)系,該關(guān)系屬于多對(duì)多的關(guān)系。一個(gè)用戶可以和多個(gè)好友通信,一個(gè)好友也可以和多個(gè)用戶通信。
主要參考文獻(xiàn)
[1]劉壽強(qiáng),溫子梅.企業(yè)即時(shí)通信系統(tǒng)(EIM)安全性初探[J].計(jì)算機(jī)安全,2004(8):29-31.
[2]熊小敏,劉瑛,陳惠清.基于Java的網(wǎng)絡(luò)即時(shí)通訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2005(12):89-91.
[3]鐘岱暉.在實(shí)戰(zhàn)中成長(zhǎng):C++開發(fā)之路[M].北京:電子工業(yè)出版社,2009.