基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)

基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)

ID:6334748

大小:510.00 KB

頁(yè)數(shù):20頁(yè)

時(shí)間:2018-01-10

基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)_第1頁(yè)
基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)_第2頁(yè)
基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)_第3頁(yè)
基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)_第4頁(yè)
基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)_第5頁(yè)
資源描述:

《基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、河南科技學(xué)院實(shí)習(xí)報(bào)告實(shí)習(xí)課題:基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)姓名:學(xué)號(hào):班級(jí):指導(dǎo)教師:實(shí)習(xí)時(shí)間:2013/10/05-2013/12/20目錄1.系統(tǒng)概述12.需求分析22.1功能需求22.2性能需求22.3運(yùn)行環(huán)境要求23.系統(tǒng)設(shè)計(jì)33.1系統(tǒng)總體流程圖33.2系統(tǒng)模塊設(shè)計(jì)33.2.1轉(zhuǎn)發(fā)信息模塊33.2.2用戶登錄模塊33.2.3群聊模塊43.3詳細(xì)設(shè)計(jì)43.3.1登錄模塊設(shè)計(jì)43.3.2服務(wù)器模塊53.3.3消息格式化模塊63.3.4群聊模塊74.調(diào)試及測(cè)試84.1調(diào)試結(jié)果84.2調(diào)試結(jié)果分

2、析95.設(shè)計(jì)總結(jié)10參考文獻(xiàn)11附錄1211.系統(tǒng)概述Linux是一種針對(duì)PC計(jì)算機(jī)和工作站得操作系統(tǒng)。他具有像Windows和Mac那樣的功能齊全的圖形用戶界面。由于Linux的開(kāi)源的特點(diǎn),越來(lái)越多的人轉(zhuǎn)而使用Linux作為PC機(jī)得操作系統(tǒng)。Linux系統(tǒng)支持三種并發(fā)方式:多進(jìn)程、多線程、以及I/O多路復(fù)用。而多線程技術(shù)是并行技術(shù)中開(kāi)銷較小,效率較高的一種方式,與其他兩種方式相比,線程占用更少的系統(tǒng)資源,而且效率更高,是并發(fā)技術(shù)中最常用的方式。網(wǎng)絡(luò)聊天程序是目前應(yīng)用極為廣泛的一種網(wǎng)絡(luò)軟件,對(duì)于方便人

3、們的交流溝通非常有效,同時(shí),作為一種典型的網(wǎng)絡(luò)應(yīng)用,編寫(xiě)網(wǎng)絡(luò)聊天程序是學(xué)習(xí)基于Linux的網(wǎng)絡(luò)編程的有效方法。服務(wù)器端:循環(huán)等候客戶連接請(qǐng)求,一旦有客戶連接請(qǐng)求,開(kāi)啟一個(gè)子線程接受并處理客戶請(qǐng)求,接受來(lái)自客戶的信息。然后將客戶信息反轉(zhuǎn)后再返回給客戶端。主線程繼續(xù)等待其他客戶請(qǐng)求。服務(wù)器具有同時(shí)處理多個(gè)用戶的能力??蛻舳耍菏紫扰c服務(wù)器建立連接,然后向服務(wù)器發(fā)送數(shù)據(jù)進(jìn)行交互,接受服務(wù)器的反饋信息并顯示,之后繼續(xù)等待用戶輸入直至用戶輸入ctrl+D結(jié)束通信??蛻舳私拥捷斎隿trl+D后,客戶端關(guān)閉連接并退出

4、。本次課題設(shè)計(jì)是在使用Linux線程和Socket接口的基礎(chǔ)上,編寫(xiě)網(wǎng)絡(luò)聊天程序,從而掌握Linux應(yīng)用程序開(kāi)發(fā)的基本方法,練習(xí)Linux線程及Socket編程的方法,從而將所學(xué)知識(shí)融會(huì)貫通。152.需求分析2.1功能需求本次課程設(shè)計(jì)需要完成以下功能:(1)實(shí)現(xiàn)在服務(wù)器的控制下,完成多人聊天,采用單機(jī)多終端模擬方式。(2)在服務(wù)器端,使用多線程機(jī)制,為多個(gè)用戶服務(wù)。(3)服務(wù)器能夠?qū)σ蠼尤氲目蛻舳诉M(jìn)行身份識(shí)別,完成聊天數(shù)據(jù)的轉(zhuǎn)發(fā),并能夠?qū)⒉煌脩袅奶煊涗洿鏅n。(4)可發(fā)送文件,發(fā)送者可以取消開(kāi)始或中

5、途想放棄傳達(dá)的文件,接受者可接受或拒絕傳來(lái)的文件,并能夠?qū)鱽?lái)的文件設(shè)定本地保存位置。2.2性能需求(1)可靠性高,能在由于系統(tǒng)問(wèn)題或其它原因產(chǎn)生錯(cuò)誤后,作出相對(duì)應(yīng)處理,比如網(wǎng)絡(luò)初始化失敗、服務(wù)器不在線等,可以提示用戶安全退出本程序,在出現(xiàn)不可知的錯(cuò)誤以后,可以盡量安全的退出程序。(2)模塊化設(shè)計(jì)此軟件的功能,不同的模塊實(shí)現(xiàn)不同的功能,使得軟件易于以后的維護(hù)與擴(kuò)展,在以后可以更好的完善本軟件的功能,更方便于在工作中的應(yīng)用。(3)宜操作性,程序簡(jiǎn)單易懂,容易上手使用。2.3運(yùn)行環(huán)境要求本項(xiàng)目開(kāi)發(fā)主要完成

6、軟件開(kāi)發(fā)可在Linux和windows平臺(tái)下開(kāi)發(fā)153.系統(tǒng)設(shè)計(jì)3.1系統(tǒng)總體流程圖圖1系統(tǒng)設(shè)計(jì)流程圖3.2系統(tǒng)模塊設(shè)計(jì)3.2.1轉(zhuǎn)發(fā)信息模塊服務(wù)器定義readMessage函數(shù)用于存儲(chǔ)要求請(qǐng)求連接的用戶名,客戶發(fā)送的信息,該消息服務(wù)器、客戶端共享,客戶端讀取該信息,從而實(shí)現(xiàn)信息轉(zhuǎn)發(fā)。3.2.2用戶登錄模塊用戶輸入用戶名、服務(wù)器ip地址及密碼,如果通過(guò)合法性檢測(cè),則可進(jìn)入聊天主界面與其他人進(jìn)行聊天。153.2.3群聊模塊客戶端點(diǎn)擊“發(fā)送信息”按鈕,該客戶端的ip地址、端口號(hào)以及信息內(nèi)容一起打包寫(xiě)入服務(wù)

7、器readMessage函數(shù),客戶端通過(guò)線程可以讀取該客戶write中的內(nèi)容。3.3詳細(xì)設(shè)計(jì)3.3.1登錄模塊設(shè)計(jì)圖2登錄模塊流程圖15用戶登錄需輸入相關(guān)信息,經(jīng)過(guò)相關(guān)的檢測(cè)后,方可登錄。登陸后可查看群聊信息,且可與其他人進(jìn)行聊天3.3.2服務(wù)器模塊圖3服務(wù)器模塊流程圖15該服務(wù)器界面用于顯示用戶上線與下線的信息,不可用于聊天,是用于將客戶端群聊時(shí)發(fā)送的信息轉(zhuǎn)發(fā)給每一個(gè)在線用戶,處于一個(gè)承接的作用。3.3.3消息格式化模塊消息格式化是將用戶的對(duì)應(yīng)信息合成固定形式進(jìn)行傳送。圖4消息格式化模塊流程圖153

8、.3.4群聊模塊用戶登陸以后,可與顯示在線的任何用戶進(jìn)行聊天,也可與在線用戶一起進(jìn)行群聊。圖5群聊模塊程序流程圖154.調(diào)試及測(cè)試4.1調(diào)試結(jié)果1,啟動(dòng)SSHSecureShell軟件后,將程序進(jìn)行編譯:圖6編譯程序,2,編譯成功后,將服務(wù)器打開(kāi):圖7打開(kāi)服務(wù)器3,打開(kāi)服務(wù)器以后,需輸入用戶名稱,即可進(jìn)入聊天室進(jìn)行聊天:圖8準(zhǔn)備進(jìn)行聊天154,用戶進(jìn)行聊天:圖9用戶聊天界面a圖10用戶聊天界面b4.2調(diào)試結(jié)果分析這是一個(gè)聊天室程序,可以實(shí)現(xiàn)群聊的功能,即

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。