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

引 言

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

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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

根據(jù)用戶需求,客戶端需要對一些數(shù)據(jù)進行本地存儲, 本軟件借助 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ù)庫 主要存儲用戶個人信息(見表 1 所列),圖像信息以及聊天信息 如表 2 所列。

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

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

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

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

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



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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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