国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Linux 的局域網(wǎng)聊天系統(tǒng)設(shè)計(jì)

2014-11-28 03:01杜金祥杜宇軒
山西電子技術(shù) 2014年1期
關(guān)鍵詞:局域網(wǎng)聊天客戶端

杜金祥,杜宇軒

(1.太原工業(yè)學(xué)院自動(dòng)化系,山西 太原 030008;2.四川大學(xué)物理科學(xué)與技術(shù)學(xué)院,四川 成都 610207)

近年來(lái),嵌入式Linux 技術(shù)迅猛發(fā)展,在我們的生活中得到越來(lái)越廣泛的應(yīng)用。Linux 最大的特點(diǎn)就是,它是一款免費(fèi)開(kāi)源,支持多用戶、多任務(wù)、支持多線程和多CPU 的操作系統(tǒng)。Linux 以其低成本、高可靠性、高靈活性、功能強(qiáng)大等突出特點(diǎn),越來(lái)越受到用戶的垂青,并且越來(lái)越多地出現(xiàn)在我們的生活中。多進(jìn)程、多線程技術(shù)的廣泛應(yīng)用,大大提高了系統(tǒng)的效率。這使得Linux 成為了越來(lái)越多用戶的理想開(kāi)發(fā)平臺(tái)。

在這個(gè)信息化的時(shí)代,人與人之間的交流與溝通越來(lái)越注重時(shí)效性[2]。QQ、MSN、飛信、百度Hi、YY、阿里旺旺等等各種各樣的互聯(lián)網(wǎng)通訊軟件層出不窮。然而,出于保障高效和高質(zhì)的目的,越來(lái)越多的通訊網(wǎng)絡(luò)出現(xiàn)在局域網(wǎng)中。局域網(wǎng)的使用給人們帶來(lái)了極大的便利,工作流程得到極大的簡(jiǎn)化、工作效率得到了極大地提高、更重要的是在這樣的良好狀況下還極大的保證了工作的準(zhǔn)確性和有效性。而在局域網(wǎng)范圍內(nèi)的即時(shí)通訊系統(tǒng)如今還很匱乏。另外,大多數(shù)通訊軟件都是基于windows 平臺(tái)設(shè)計(jì)的,Linux 系統(tǒng)下的通訊軟件更是少之又少。

基于上述情況,為了力求使局域網(wǎng)通信網(wǎng)絡(luò)技術(shù)的優(yōu)勢(shì)得到充分發(fā)揮,同時(shí)基于局域網(wǎng)聊天軟件匱乏的現(xiàn)狀,我們采用Linux 作為軟件開(kāi)發(fā)平臺(tái),以C 語(yǔ)言作為編程語(yǔ)言,利用VI、GCC 編輯工具編譯,采用C/S 架構(gòu),設(shè)計(jì)一款低成本、高可靠性、高時(shí)效性、功能強(qiáng)大的局域網(wǎng)即時(shí)聊天系統(tǒng)。

1 系統(tǒng)總體設(shè)計(jì)

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

基于Linux 的局域網(wǎng)聊天系統(tǒng)的系統(tǒng)功能模塊設(shè)計(jì)圖如圖1 所示。

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

1.2 系統(tǒng)構(gòu)架設(shè)計(jì)

本系統(tǒng)采用Linux 作為軟件開(kāi)發(fā)平臺(tái),以C 語(yǔ)言作為編程語(yǔ)言,利用Vi、GCC 編輯工具編譯,采用C/S 架構(gòu),以TCP/IP 模式下SOCKET 通訊模式為基礎(chǔ)來(lái)實(shí)現(xiàn)。Linux 操作系統(tǒng)環(huán)境下采用C/S 構(gòu)架的TCP 通訊模型。

2 系統(tǒng)詳細(xì)設(shè)計(jì)

2.1 協(xié)議報(bào)文規(guī)約

局域網(wǎng)聊天系統(tǒng)服務(wù)器和客戶端之間進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)候,需要約定協(xié)議報(bào)文來(lái)明確其數(shù)據(jù)傳輸規(guī)則。

協(xié)議結(jié)構(gòu)里面每塊信息之間以空格為分界,每塊協(xié)議內(nèi)容均為字符或字符串。

標(biāo)示符只有兩種字符1 和2。字符1 為客戶登陸和注冊(cè)的標(biāo)示符,字符2 為客戶登陸或注冊(cè)后,與服務(wù)器交互的標(biāo)示符。基本協(xié)議結(jié)構(gòu)如表1 所示。

表1 基本協(xié)議結(jié)構(gòu)

客戶與服務(wù)器傳送其他信息內(nèi)容另有協(xié)議幀,交互式協(xié)議結(jié)構(gòu)如表2 所示。

表2 交互式協(xié)議結(jié)構(gòu)

特別說(shuō)明:基本協(xié)議結(jié)構(gòu)只用于客戶登陸和注冊(cè)使用。此基本協(xié)議結(jié)構(gòu)在使用時(shí)沒(méi)有的信息塊均以顯示內(nèi)容的字符串替代??蛻舳说膮f(xié)議頭和服務(wù)器端的協(xié)議頭相同,共用一個(gè)協(xié)議頭。

2.2 系統(tǒng)流程圖設(shè)計(jì)

基于Linux 的局域網(wǎng)聊天系統(tǒng)采用C/S 構(gòu)架,即客戶端/服務(wù)器構(gòu)架。在C/S 構(gòu)架中,多臺(tái)相互通訊的計(jì)算機(jī)都可多為客戶端(client)與服務(wù)器(server)之間進(jìn)行鏈接,并通過(guò)服務(wù)器程序?qū)崿F(xiàn)信息數(shù)據(jù)的傳遞。在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),采用C/S 構(gòu)架進(jìn)行網(wǎng)絡(luò)聊天,系統(tǒng)需要分為客戶端和服務(wù)器兩個(gè)部分分別編制程序。

在服務(wù)器和客戶端程序?qū)崿F(xiàn)系統(tǒng)功能的過(guò)程中,需要遵循一定的流程來(lái)完成系統(tǒng)功能的整個(gè)實(shí)現(xiàn)過(guò)程。

2.2.1 服務(wù)器主要流程圖設(shè)計(jì)

系統(tǒng)服務(wù)器端是整個(gè)基于Linux 的局域網(wǎng)聊天系統(tǒng)最為重要的部分,也是系統(tǒng)運(yùn)行時(shí)最繁忙的部分。系統(tǒng)服務(wù)器程序部分主要包括服務(wù)主程序、加載已登錄用戶信息程序、修改密碼程序、用戶聊天模式選擇程序、用戶登錄處理程序、修改用戶信息程序以及找回密碼程序等部分。

系統(tǒng)服務(wù)主程序最主要的功能是作為服務(wù)器程序主函數(shù)main()的入口,實(shí)現(xiàn)網(wǎng)絡(luò)通訊套接字的創(chuàng)建等操作。服務(wù)主程序流程圖如圖2 所示。

圖2 服務(wù)主程序流程圖

2.2.2 客戶端主要流程圖設(shè)計(jì)

由于服務(wù)器是一對(duì)多的工作模式,而客戶端是一對(duì)一的工作模式,因此,對(duì)于客戶端來(lái)說(shuō)只需完成客戶端與服務(wù)器之間的一對(duì)一通訊即可。系統(tǒng)客戶端程序部分主要包括客戶端主程序、用戶登錄程序、消息發(fā)送程序、接收消息程序、寫入聊天記錄程序以及聊天記錄查看程序等部分。

1)客戶端主程序流程

客戶端主程序作為主函數(shù)main()的入口,負(fù)責(zé)創(chuàng)建socket 網(wǎng)絡(luò)通訊套接字、連接服務(wù)器、進(jìn)行用戶登錄處理等操作。具體的客戶端主程序流程是socket()創(chuàng)建網(wǎng)絡(luò)通訊套接字然后connect()連接服務(wù)器連接成功后,進(jìn)行客戶端登陸處理函數(shù)處理。

2)客戶端用戶登錄程序流程

在客戶端開(kāi)始運(yùn)行時(shí),系統(tǒng)進(jìn)入模式選擇界面。系統(tǒng)提供了用戶登錄、注冊(cè)新賬號(hào)、忘記密碼、退出聊天室等四項(xiàng)功能供用戶選擇。

2.3 系統(tǒng)主要函數(shù)設(shè)計(jì)

2.3.1 服務(wù)器端主要程序設(shè)計(jì)

依據(jù)功能需求分析、總體設(shè)計(jì)以及系統(tǒng)流程圖設(shè)計(jì)方案,服務(wù)器部分主要程序關(guān)系圖如圖3 所示。

圖3 服務(wù)器部分主要程序關(guān)系圖

2.3.2 客戶端主要程序設(shè)計(jì)客戶端部分主要程序關(guān)系圖如圖4 所示。

圖4 客戶端部分主要程序關(guān)系圖

2.4 數(shù)據(jù)文件設(shè)計(jì)

局域網(wǎng)聊天系統(tǒng)提供寫入聊天記錄、查看聊天記錄、查看好友信息等功能,所以需要對(duì)相關(guān)數(shù)據(jù)信息進(jìn)行保存和調(diào)用查看等操作??紤]到局域網(wǎng)聊天系統(tǒng)中數(shù)據(jù)量的大小情況以及在操作過(guò)程當(dāng)中的實(shí)際情況,在本設(shè)計(jì)中選用數(shù)據(jù)文件來(lái)實(shí)現(xiàn)數(shù)據(jù)的保存和調(diào)用。服務(wù)器通過(guò)創(chuàng)建文件來(lái)保存所有用戶的操作、ID、密碼以及用戶的聊天記錄等數(shù)據(jù)信息,以便日后查看并保障相關(guān)系統(tǒng)功能的實(shí)現(xiàn)。

3 調(diào)試及運(yùn)行結(jié)果

在啟動(dòng)客戶端程序之前,必須先運(yùn)行服務(wù)器程序。待到服務(wù)器程序正常運(yùn)行,加載原有用戶信息后,方可啟動(dòng)客戶端程序,并在服務(wù)器程序中有所響應(yīng),如圖5 所示。隨即進(jìn)入系統(tǒng)登錄界面,如圖6 所示。

圖5 啟動(dòng)服務(wù)器程序

圖6 系統(tǒng)登錄界面

用戶進(jìn)入客戶端登陸界面后,錄入“2”,隨即進(jìn)入注冊(cè)新賬號(hào)流程,輸入功能標(biāo)號(hào)“1”,隨即進(jìn)入登錄聊天室功能。系統(tǒng)為已成功登錄的用戶提供查看多人聊天模式,供用戶與多用戶進(jìn)行一對(duì)多聊天。

4 結(jié)論

本論文設(shè)計(jì)的基于Linux 的局域網(wǎng)聊天系統(tǒng)主要采用Linux 作為軟件開(kāi)發(fā)平臺(tái),以C 語(yǔ)言作為編程語(yǔ)言,利用VI、GCC 編輯工具編譯,采用C/S 架構(gòu)實(shí)現(xiàn)。系統(tǒng)功能主要涉及用戶注冊(cè)、用戶登錄、密碼找回、查看當(dāng)前在線好友、私聊、群聊、查看好友信息、查看聊天記錄、修改安全密碼、更改個(gè)人資料以及退出系統(tǒng)等。本文完成了局域網(wǎng)聊天系統(tǒng)的需求分析、可行性研究、系統(tǒng)總體設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì),并根據(jù)需求分析、系統(tǒng)總體設(shè)計(jì)以及系統(tǒng)詳細(xì)設(shè)計(jì)方案對(duì)基于Linux的局域網(wǎng)聊天系統(tǒng)進(jìn)行了實(shí)現(xiàn)。本設(shè)計(jì)能夠改善局域網(wǎng)聊天軟件匱乏的現(xiàn)狀,使得Linux、局域網(wǎng)技術(shù)的優(yōu)勢(shì)得到充分發(fā)揮,不斷滿足用戶多層次的使用要求。本文設(shè)計(jì)的這款低成本、高可靠性、高時(shí)效性、功能強(qiáng)大的局域網(wǎng)即時(shí)聊天系統(tǒng),成本較低,運(yùn)行穩(wěn)定可靠,應(yīng)用范圍廣,有很好的使用價(jià)值和推廣價(jià)值。

[1]Brian W.Kernighan,Dennis M.Ritchie.C Programming Language[M].2nd Edition.Prentice Hall,1988:22.

[2]史蒂文斯(美),拉戈(美) .UNIX 環(huán)境高級(jí)編程[M].第2 版.北京:人民郵電出版社,2005.

[3]W.Richard Stevens.UNIX 網(wǎng)絡(luò)編程.卷2:進(jìn)程間通信[M].第2 版.北京:人民郵電出版社,2005.

[4]王蘇敏,陳淦,廖晶晶.Linux 系統(tǒng)下基于QT 的局域網(wǎng)聊天系統(tǒng)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(22) :130,132.

[5]姜虎強(qiáng),姜平,杜亞江,等.基于socket 的局域網(wǎng)聊天工具[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(2) :188,195.

[6]史潔瓊,曾連蓀.TCP_IP 協(xié)議在無(wú)線測(cè)控網(wǎng)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2009(5) :1590-1592.

[7]張晨光.局域網(wǎng)中的TCP/IP 通信協(xié)議[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2005,15(17) :232-233.

[8]謝偉.嵌入式Linux 系統(tǒng)工程師標(biāo)準(zhǔn)培訓(xùn)教材1—基礎(chǔ)篇[M].北京:清華大學(xué)出版社,2011.

[9]李珍,張壽華,李繼民,等.軟件工程專業(yè)畢業(yè)設(shè)計(jì)(論文) 指導(dǎo)[M].北京:清華大學(xué)出版社,2010.

猜你喜歡
局域網(wǎng)聊天客戶端
軌道交通車-地通信無(wú)線局域網(wǎng)技術(shù)應(yīng)用
基于VPN的機(jī)房局域網(wǎng)遠(yuǎn)程控制系統(tǒng)
如何看待傳統(tǒng)媒體新聞客戶端的“斷舍離”?
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
孵化垂直頻道:新聞客戶端新策略
基于802.1Q協(xié)議的虛擬局域網(wǎng)技術(shù)研究與實(shí)現(xiàn)
我就是不想跟你聊天了
局域網(wǎng)性能的優(yōu)化
敞開(kāi)門聊天
客戶端空間數(shù)據(jù)緩存策略
陆丰市| 海林市| 池州市| 来安县| 柞水县| 邹平县| 武强县| 腾冲县| 莱州市| 左云县| 江口县| 中阳县| 闽侯县| 赤壁市| 茶陵县| 道孚县| 韩城市| 米泉市| 黎平县| 凯里市| 咸宁市| 屯留县| 贡觉县| 云霄县| 鹿泉市| 潞西市| 定南县| 交城县| 武宣县| 乌恰县| 长兴县| 墨竹工卡县| 雷州市| 谢通门县| 株洲县| 洛川县| 疏附县| 娄烦县| 定边县| 大方县| 灌南县|