




已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
淮 海 工 學(xué) 院 計算機(jī)工程學(xué)院課程設(shè)計報告設(shè)計名稱: Linux程序設(shè)計 選題名稱: 基于TCP的網(wǎng)絡(luò)聊天室的設(shè)計與實現(xiàn) 姓 名: 姓 名: 姓 名: 專業(yè)班級: 軟件工程 系 (院): 計算機(jī)工程學(xué)院 設(shè)計時間: 2016.11.162016.12.7 設(shè)計地點: 軟件實驗室、教室 成績:指導(dǎo)教師評語: 簽名: 年 月 日1課程設(shè)計目的Linux程序設(shè)計是一門實踐性很強的計算機(jī)專業(yè)基礎(chǔ)課程,課程設(shè)計是學(xué)習(xí)完該課程后進(jìn)行的一次較全面的綜合練習(xí)。其目的在于通過實踐加深學(xué)生對Linux程序設(shè)計的理論、方法和基礎(chǔ)知識的理解,掌握使用C語言進(jìn)行Linux程序設(shè)計的基本方法,提高運用所學(xué)知識分析實際問題、解決實際問題的能力。2課程設(shè)計任務(wù)與要求:2.1 課程設(shè)計要求課程設(shè)計選用VIM、GDB和SecureCRT作為開發(fā)平臺以提高開發(fā)效率,盡可能熟練掌握其開發(fā)環(huán)境。采用結(jié)構(gòu)化程序設(shè)計技術(shù)進(jìn)行系統(tǒng)的分析設(shè)計,在Visio中畫出系統(tǒng)功能結(jié)構(gòu)圖和程序流程圖,并將相應(yīng)的圖例說明復(fù)制到設(shè)計報告中。通過這次設(shè)計,要求掌握以下內(nèi)容:1)Linux C編程工具:GCC和GDB2)文件I/O操作3)文件屬性及目錄操作4)終端控制與信號處理5)進(jìn)程控制6)進(jìn)程間通信7)流式套接字編程8)線程管理2.2 課程設(shè)計任務(wù)(大作業(yè)課題一)1)課題名稱:基于TCP的網(wǎng)絡(luò)聊天室的設(shè)計和實現(xiàn)。2)內(nèi)容描述:實現(xiàn)目標(biāo):一個在Linux下可以使用的聊天軟件,要求實現(xiàn)如下功能:l 采用Client/Server架構(gòu)l Client A 登陸聊天服務(wù)器前,需要注冊自己的ID和密碼l 注冊成功后,Client A 就可以通過自己的ID和密碼登陸聊天服務(wù)器l 多個Client X 可以同時登陸聊天服務(wù)器之后,與其他用戶進(jìn)行通訊聊天l Client A成功登陸后可以查看當(dāng)前聊天室內(nèi)其他在線用戶Client Xl Client A可以選擇發(fā)消息給某個特定的Client X,即“悄悄話”功能l Client A 可以選擇發(fā)消息全部的在線用戶,即“群發(fā)消息”功能l Client A 在退出時需要保存聊天記錄l Server端維護(hù)一個所有登陸用戶的聊天會的記錄文件,以便備查可以選擇實現(xiàn)的附加功能:l Server可以內(nèi)建一個特殊權(quán)限的賬號admin,用于管理聊天室l Admin可以將某個Client X “踢出聊天室”3)附加功能:l 文件傳輸3課程設(shè)計說明書3.1 需求分析隨著科學(xué)技術(shù)和社會的不斷發(fā)展,計算機(jī)產(chǎn)業(yè)越來越發(fā)達(dá)。人們對于電子信息產(chǎn)品的需求越來越大,在這樣一個信息時代,交流的方式日趨多元化和網(wǎng)絡(luò)化。通信產(chǎn)業(yè)的發(fā)展非常迅猛,現(xiàn)在的科技已經(jīng)可以實現(xiàn)很多種網(wǎng)絡(luò)交流方式和信息傳播方式,但是聊天室一直是最基礎(chǔ)之一。聊天室技術(shù)仍然是我們學(xué)習(xí)的基礎(chǔ)和重點。本次課題將全面的分析與設(shè)計一個網(wǎng)絡(luò)聊天室。網(wǎng)絡(luò)聊天室現(xiàn)在已經(jīng)有相當(dāng)成熟的發(fā)展了,QQ,微信等主流的聊天工具是這項技術(shù)的代表。在當(dāng)下成熟的編程環(huán)境下,聊天室的設(shè)計與實現(xiàn)是一個重要的基礎(chǔ)練習(xí)。下面將簡要介紹一下網(wǎng)絡(luò)聊天室的特點:1) 便捷性:擺脫了傳統(tǒng)的通信方式,利用網(wǎng)絡(luò)的廉價性,可以使用戶更加自由地相互交流。2) 安全性:網(wǎng)絡(luò)環(huán)境下,用戶可以針對地去了解自己想要了解的信息,交流時可以使用虛擬的身份,一定程度上很好地保護(hù)了用戶的個人隱私信息。3) 實時性:用戶只要與想要通信的另一方取得聯(lián)系,即可想面對面對話一樣交流。3.2 概要設(shè)計本次試驗設(shè)計一個網(wǎng)絡(luò)聊天室,該軟件采用Client/Server架構(gòu)。聊天室的功能主要有:1) Client A 登陸聊天服務(wù)器前,需要注冊自己的ID和密碼2) 注冊成功后,Client A 就可以通過自己的ID和密碼登陸聊天服務(wù)器3) 多個Client X 可以同時登陸聊天服務(wù)器之后,與其他用戶進(jìn)行通訊聊天4) Client A成功登陸后可以查看當(dāng)前聊天室內(nèi)其他在線用戶Client X5) Client A可以選擇發(fā)消息給某個特定的Client X,即“悄悄話”功能6) Client A 可以選擇發(fā)消息全部的在線用戶,即“群發(fā)消息”功能7) Client A 在退出時需要保存聊天記錄8) Server端維護(hù)一個所有登陸用戶的聊天會的記錄文件,以便備查3.3 詳細(xì)設(shè)計1) 功能結(jié)構(gòu)圖:2) 程序流程圖:l 注冊:l 登錄:l 傳送文件:l 發(fā)送消息:4課程設(shè)計成果4.1 主要模塊設(shè)計1)注冊模塊:client.c:server.c:check.c:此截圖是在注冊時系統(tǒng)判斷注冊用戶是否重名的模塊:2)發(fā)送消息模塊:client.c:創(chuàng)建線程處理消息隊列。這是消息處理函數(shù):sever.c:發(fā)送給所有人的消息處理:發(fā)送給指定用戶的消息處理:display.c:顯示發(fā)送的消息:4.2 運行結(jié)果服務(wù)器端:服務(wù)器端查看連接用戶列表:客戶端一:客戶端一發(fā)送消息給所有人:消息顯示界面:客戶端一查看在線用戶列表:客戶端一向客戶端二傳送文件:客戶端二接收文件:客戶端二退出:服務(wù)器端顯示退出消息:服務(wù)器端踢出客戶端一:5.課程設(shè)計心得本次實驗實現(xiàn)的網(wǎng)絡(luò)聊天室使用了Linux程序設(shè)計的很多重點的基礎(chǔ)知識。這是一次非常綜合的程序設(shè)計。我負(fù)責(zé)注冊和登錄界面的功能,這次實現(xiàn)的網(wǎng)絡(luò)聊天室還有很多不足之處,主要是用戶使用的友好性的設(shè)計。程序還需要大量的測試才能達(dá)到人機(jī)友好性的標(biāo)準(zhǔn)。本次CSDN上一位博主的原創(chuàng)代碼。使用結(jié)構(gòu)化軟件設(shè)計的思路,采用瀑布開發(fā)模式, 6次迭代,其中有五個重要的迭代模型和七個基線模型產(chǎn)生。另外,在注冊和登錄模塊中,用戶信息文件是不能隨便寫入的,只有讀取到注冊標(biāo)志位時,才能開放用戶信息的文件的寫入權(quán)限,這里用到了文件操作中的文件功能庫中的函數(shù)去實現(xiàn)。另外,在消息顯示模塊中,聊天日志文件是關(guān)閉所有文件權(quán)限的,用到文件操作權(quán)限時才能開放,用完則歸還權(quán)限。對于客戶端的連接、消息的處理和文件傳送,我都是使用線程管理技術(shù)去實現(xiàn)的,這樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 能源企業(yè)部分股權(quán)轉(zhuǎn)讓及新能源項目合作協(xié)議
- 文化活動場地租賃合同終止及場地恢復(fù)協(xié)議
- 商業(yè)保險理賠與財產(chǎn)分配合同
- 高端離婚子女撫養(yǎng)及財產(chǎn)分割協(xié)議
- 政府機(jī)構(gòu)公務(wù)車輛無償租賃使用協(xié)議
- 車輛事故責(zé)任承擔(dān)及經(jīng)濟(jì)賠償協(xié)議范本
- 精裝修住宅出租服務(wù)合同
- 北京科萬物業(yè)裝修工程合同施工安全與質(zhì)量保障協(xié)議
- 酒店培訓(xùn)服務(wù)禮儀
- 2024年高考語文備考之掌握分析高考古詩題材技巧
- 2024-2025學(xué)年下學(xué)期高一化學(xué)蘇教版期末必刷??碱}之原電池與電解池
- 公司系統(tǒng)主數(shù)據(jù)管理制度
- 2025年煙臺市中考地理試卷真題(含答案及解析)
- 工廠安全手冊從火災(zāi)到其他事故的應(yīng)急響應(yīng)
- 肯德基服務(wù)管理制度
- 2025至2030中國微晶玻璃行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 部編版二年級語文下冊期末測試卷(含答案)
- 抖音精準(zhǔn)圈層種草
- 300MW單元機(jī)組過熱汽溫控制系統(tǒng)的設(shè)計
- (完整版)銷售人員銷售能力測試及答案解析
- 橋架、線槽支架重量計算表
評論
0/150
提交評論