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

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

ID:6334748

大?。?10.00 KB

頁數(shù):20頁

時間:2018-01-10

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

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

1、河南科技學(xué)院實(shí)習(xí)報(bào)告實(shí)習(xí)課題:基于linux的實(shí)時通信軟件設(shè)計(jì)姓名:學(xué)號:班級:指導(dǎo)教師:實(shí)習(xí)時間: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)試及測試84.1調(diào)試結(jié)果84.2調(diào)試結(jié)果分

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

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

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

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

6、軟件開發(fā)可在Linux和windows平臺下開發(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ù)用于存儲要求請求連接的用戶名,客戶發(fā)送的信息,該消息服務(wù)器、客戶端共享,客戶端讀取該信息,從而實(shí)現(xiàn)信息轉(zhuǎn)發(fā)。3.2.2用戶登錄模塊用戶輸入用戶名、服務(wù)器ip地址及密碼,如果通過合法性檢測,則可進(jìn)入聊天主界面與其他人進(jìn)行聊天。153.2.3群聊模塊客戶端點(diǎn)擊“發(fā)送信息”按鈕,該客戶端的ip地址、端口號以及信息內(nèi)容一起打包寫入服務(wù)

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

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

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

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

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