當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:手機(jī)即時(shí)通訊聊天軟件主要用于連接在同一個(gè)局域網(wǎng)的安卓手機(jī)進(jìn)行語音文字聊天、視頻聊天。軟件基于安卓2.3開發(fā),JDK1.6以上,采用C/S架構(gòu)、P2P以及TCP/UDP通訊協(xié)議。手機(jī)終端連接在同一個(gè)局域網(wǎng)下,其中一個(gè)手機(jī)充當(dāng)客戶端,另一個(gè)手機(jī)充當(dāng)服務(wù)器建立Socket連接,可用于手機(jī)之間的視頻聊天,對(duì)于文字和語音聊天則采用點(diǎn)對(duì)點(diǎn)的通訊方式。

引 言

隨著手機(jī)終端的普及和互聯(lián)網(wǎng)的發(fā)展,即時(shí)通訊軟件因其即時(shí)性、便利性在日常生活中占據(jù)著重要地位。局域網(wǎng)內(nèi), 因?yàn)椴粫?huì)產(chǎn)生流量資費(fèi),而且其本身的網(wǎng)絡(luò)條件也適合文件傳輸、音視頻傳輸?shù)却罅繑?shù)據(jù)的文件傳輸,因而可成為人們?nèi)粘Mㄓ嵵械闹匾緩?。并且可拓展到廣域網(wǎng)中,讓更多的人受益。

1 軟件系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)

根據(jù)手機(jī)用戶在局域網(wǎng)內(nèi)通過手機(jī)等無線終端進(jìn)行即時(shí)通訊的需求,系統(tǒng)對(duì)即時(shí)通訊的常用功能進(jìn)行實(shí)現(xiàn),包括用戶個(gè)人信息設(shè)置,添加、刪除、修改、分組等。

由于在局域網(wǎng)內(nèi),用戶對(duì)文件傳輸和語音等即時(shí)通訊需求更大,在無線局域網(wǎng)的網(wǎng)絡(luò)環(huán)境下,帶寬、傳輸速度和效率更高,更適合用來進(jìn)行文件傳輸和語音的實(shí)時(shí)傳輸。

根據(jù)系統(tǒng)的不同功能,將系統(tǒng)分成兩大模塊 :文字語音聊天模塊和視頻聊天模塊。文字語音聊天模塊采用UDP 協(xié)議, 視頻聊天模塊采用TCP 協(xié)議,保證視頻圖像不會(huì)出現(xiàn)失幀的現(xiàn)象。圖 1 所示是該系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)圖。

基于局域網(wǎng)的手機(jī)即時(shí)通訊聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)


2 系統(tǒng)功能模塊設(shè)計(jì) 

系統(tǒng)功能的設(shè)計(jì),也就是即時(shí)通訊軟件即客戶端和服務(wù) 端的程序設(shè)計(jì),在局域網(wǎng)下,分別對(duì)客戶端和服務(wù)器端進(jìn)行 設(shè)計(jì)。

2.1 服務(wù)器端模塊設(shè)計(jì) 

服務(wù)器的功能模塊主要負(fù)責(zé)建立監(jiān)聽、等待接收客戶端的鏈接請(qǐng)求、接收并建立新線程以響應(yīng)客戶端的請(qǐng)求。同時(shí) 根據(jù)請(qǐng)求類型決定是否需要訪問數(shù)據(jù)庫和對(duì)數(shù)據(jù)庫進(jìn)行操作。 服務(wù)器端工作流程 :服務(wù)器啟動(dòng)后,建立一個(gè)基于 TCP 的監(jiān) 聽進(jìn)程,用于監(jiān)聽客戶端發(fā)送過來的各種請(qǐng)求。在接收到客 戶端的連接請(qǐng)求信息時(shí),服務(wù)器會(huì)響應(yīng)連接,同時(shí)服務(wù)器會(huì) 建立一個(gè)新的線程,負(fù)責(zé)處理客戶端的各種請(qǐng)求信息。服務(wù) 器工作流程如圖 2 所示

基于局域網(wǎng)的手機(jī)即時(shí)通訊聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)


2.2 客戶端模塊設(shè)計(jì)

客戶端的主要功能是與服務(wù)器端進(jìn)行通訊,以及對(duì)數(shù)據(jù) 庫進(jìn)行查詢、刪除、修改。 客戶端和服務(wù)器端通訊時(shí)創(chuàng)建三 個(gè)線程:一個(gè)線程負(fù)責(zé)信息的發(fā)送,一個(gè)線程負(fù)責(zé)信息的接收, 一個(gè)線程負(fù)責(zé)心跳信息的發(fā)送。其通訊流程圖如圖 3 所示。

客戶端采用 MVC 軟件開發(fā)結(jié)構(gòu),采用 Android 的 XML 文件對(duì)軟件界面進(jìn)行描述。


(1)視圖層。主要是 Android 的 layout 中的 XML文件進(jìn)行定義,該 XML文件用于定義并描述用戶界面,負(fù)責(zé)軟件界 面的顯示 ; 

(2)控制層。Android 的 activity 活動(dòng)類通過 Android 的 activity 進(jìn)行邏輯處理,在 activity 里可以設(shè)置頁面事件的監(jiān) 聽響應(yīng),在 onCreate()方法里對(duì)主要邏輯進(jìn)行處理 ; 

(3)model 層。主要是關(guān)于服務(wù)器和客戶端進(jìn)行連接并 對(duì)數(shù)據(jù)庫進(jìn)行處理,對(duì)本地 SQLite 數(shù)據(jù)庫進(jìn)行操作,把通訊 數(shù)據(jù)轉(zhuǎn)化成數(shù)據(jù)庫的相關(guān) SQL 存入數(shù)據(jù)庫,并封裝一些對(duì)數(shù) 據(jù)庫的查詢?cè)L問,存儲(chǔ)個(gè)人信息及聊天信息。

基于局域網(wǎng)的手機(jī)即時(shí)通訊聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)


文字語音聊天模塊采用點(diǎn)對(duì)點(diǎn)通信,使用 UDP 協(xié)議作為 文字語音信息的實(shí)時(shí)傳輸協(xié)議。UDP 協(xié)議占用資源更少,效 率更高,但是 UDP 協(xié)議是面向無連接的,所以傳輸質(zhì)量無法 保證。文字語音聊天流程圖如圖 4 所示。

基于局域網(wǎng)的手機(jī)即時(shí)通訊聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)

視頻聊天模塊采用 TCP 協(xié)議,TCP 是一種面向連接的、 可靠的傳輸層協(xié)議,通過安卓手機(jī)自帶的前置攝像頭進(jìn)行圖 像采集,采集的原始圖像數(shù)據(jù)轉(zhuǎn)換為 JPG 格式,轉(zhuǎn)化為數(shù)據(jù) 流發(fā)送給對(duì)方,并對(duì)數(shù)據(jù)進(jìn)行還原,重繪成一幀一幀的圖像, 然后顯示出來。其視頻聊天流程圖如圖 5 所示。

基于局域網(wǎng)的手機(jī)即時(shí)通訊聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)


2.3 客戶端數(shù)據(jù)庫設(shè)計(jì) 

根據(jù)用戶需求,客戶端需要對(duì)一些數(shù)據(jù)進(jìn)行本地存儲(chǔ), 本軟件借助 Android 內(nèi)置的 SQLite 數(shù)據(jù)庫作為客戶端的數(shù) 據(jù)庫。SQLite 是一款輕型的數(shù)據(jù)庫,是遵守 ACID 的關(guān)系型 數(shù)據(jù)庫管理系統(tǒng),占用資源很低,能夠支持 Windows/Linux/ Unix 等操作系統(tǒng),可以和很多程序語言結(jié)合。客戶端數(shù)據(jù)庫 主要存儲(chǔ)用戶個(gè)人信息(見表 1 所列),圖像信息以及聊天信息 如表 2 所列。

基于局域網(wǎng)的手機(jī)即時(shí)通訊聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)

3 結(jié) 語
本文主要介紹了基于局域網(wǎng)的手機(jī)即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)。軟件采用 TCP 和 UDP 協(xié)議作為該軟件的通訊協(xié)議,采用 Android 手機(jī)充當(dāng)客戶端和服務(wù)器端,數(shù)據(jù)庫使用Android 自帶的 SQLite 數(shù)據(jù)庫,軟件采用 C/S 軟件架構(gòu),并使用點(diǎn)對(duì)點(diǎn)通訊模型來實(shí)現(xiàn)聊天功能??傮w來說,本文主要完成了以下部分的工作 :
(1)研究本軟件的相關(guān)背景并介紹,對(duì)軟件進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn) ;
(2)介紹了 TCP/UDP 協(xié)議簇、多線程編程 ;
(3)結(jié)合局域網(wǎng)通信的條件,設(shè)計(jì)出一個(gè) C/S 和點(diǎn)對(duì)點(diǎn)結(jié)合的通信方式 ;

(4)對(duì)軟件的客戶端和服務(wù)器端進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn)。

本文雖然設(shè)計(jì)實(shí)現(xiàn)了即時(shí)通訊功能,但對(duì)于視頻的傳輸簡化了設(shè)計(jì),而且對(duì)于視頻的實(shí)時(shí)傳輸,未采用專業(yè)的流媒體服務(wù)器,以及在通訊加密方面還可以加強(qiáng)及優(yōu)化。

在當(dāng)今的互聯(lián)網(wǎng)時(shí)代,本軟件的應(yīng)用前景非常廣闊,可以在本軟件設(shè)計(jì)實(shí)現(xiàn)的基礎(chǔ)上,對(duì)軟件的各個(gè)模塊進(jìn)行優(yōu)化。可以將本軟件應(yīng)用場(chǎng)景從局域網(wǎng)拓展到覆蓋廣闊的手機(jī)移動(dòng)網(wǎng)絡(luò)中,同時(shí)可以在本軟件中加入一些其他功能,例如瀏覽器功能,手機(jī)短信提醒等。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉