Linux基于TCP的網(wǎng)絡(luò)聊天室軟件131.doc_第1頁(yè)
Linux基于TCP的網(wǎng)絡(luò)聊天室軟件131.doc_第2頁(yè)
Linux基于TCP的網(wǎng)絡(luò)聊天室軟件131.doc_第3頁(yè)
Linux基于TCP的網(wǎng)絡(luò)聊天室軟件131.doc_第4頁(yè)
Linux基于TCP的網(wǎng)絡(luò)聊天室軟件131.doc_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

淮 海 工 學(xué) 院 計(jì)算機(jī)工程學(xué)院課程設(shè)計(jì)報(bào)告設(shè)計(jì)名稱(chēng): Linux程序設(shè)計(jì) 選題名稱(chēng): 基于TCP的網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn) 姓 名: 姓 名: 姓 名: 專(zhuān)業(yè)班級(jí): 軟件工程 系 (院): 計(jì)算機(jī)工程學(xué)院 設(shè)計(jì)時(shí)間: 2016.11.162016.12.7 設(shè)計(jì)地點(diǎn): 軟件實(shí)驗(yàn)室、教室 成績(jī):指導(dǎo)教師評(píng)語(yǔ): 簽名: 年 月 日1課程設(shè)計(jì)目的Linux程序設(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的計(jì)算機(jī)專(zhuān)業(yè)基礎(chǔ)課程,課程設(shè)計(jì)是學(xué)習(xí)完該課程后進(jìn)行的一次較全面的綜合練習(xí)。其目的在于通過(guò)實(shí)踐加深學(xué)生對(duì)Linux程序設(shè)計(jì)的理論、方法和基礎(chǔ)知識(shí)的理解,掌握使用C語(yǔ)言進(jìn)行Linux程序設(shè)計(jì)的基本方法,提高運(yùn)用所學(xué)知識(shí)分析實(shí)際問(wèn)題、解決實(shí)際問(wèn)題的能力。2課程設(shè)計(jì)任務(wù)與要求:2.1 課程設(shè)計(jì)要求課程設(shè)計(jì)選用VIM、GDB和SecureCRT作為開(kāi)發(fā)平臺(tái)以提高開(kāi)發(fā)效率,盡可能熟練掌握其開(kāi)發(fā)環(huán)境。采用結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)進(jìn)行系統(tǒng)的分析設(shè)計(jì),在Visio中畫(huà)出系統(tǒng)功能結(jié)構(gòu)圖和程序流程圖,并將相應(yīng)的圖例說(shuō)明復(fù)制到設(shè)計(jì)報(bào)告中。通過(guò)這次設(shè)計(jì),要求掌握以下內(nèi)容:1)Linux C編程工具:GCC和GDB2)文件I/O操作3)文件屬性及目錄操作4)終端控制與信號(hào)處理5)進(jìn)程控制6)進(jìn)程間通信7)流式套接字編程8)線程管理2.2 課程設(shè)計(jì)任務(wù)(大作業(yè)課題一)1)課題名稱(chēng):基于TCP的網(wǎng)絡(luò)聊天室的設(shè)計(jì)和實(shí)現(xiàn)。2)內(nèi)容描述:實(shí)現(xiàn)目標(biāo):一個(gè)在Linux下可以使用的聊天軟件,要求實(shí)現(xiàn)如下功能:l 采用Client/Server架構(gòu)l Client A 登陸聊天服務(wù)器前,需要注冊(cè)自己的ID和密碼l 注冊(cè)成功后,Client A 就可以通過(guò)自己的ID和密碼登陸聊天服務(wù)器l 多個(gè)Client X 可以同時(shí)登陸聊天服務(wù)器之后,與其他用戶進(jìn)行通訊聊天l Client A成功登陸后可以查看當(dāng)前聊天室內(nèi)其他在線用戶Client Xl Client A可以選擇發(fā)消息給某個(gè)特定的Client X,即“悄悄話”功能l Client A 可以選擇發(fā)消息全部的在線用戶,即“群發(fā)消息”功能l Client A 在退出時(shí)需要保存聊天記錄l Server端維護(hù)一個(gè)所有登陸用戶的聊天會(huì)的記錄文件,以便備查可以選擇實(shí)現(xiàn)的附加功能:l Server可以內(nèi)建一個(gè)特殊權(quán)限的賬號(hào)admin,用于管理聊天室l Admin可以將某個(gè)Client X “踢出聊天室”3)附加功能:l 文件傳輸3課程設(shè)計(jì)說(shuō)明書(shū)3.1 需求分析隨著科學(xué)技術(shù)和社會(huì)的不斷發(fā)展,計(jì)算機(jī)產(chǎn)業(yè)越來(lái)越發(fā)達(dá)。人們對(duì)于電子信息產(chǎn)品的需求越來(lái)越大,在這樣一個(gè)信息時(shí)代,交流的方式日趨多元化和網(wǎng)絡(luò)化。通信產(chǎn)業(yè)的發(fā)展非常迅猛,現(xiàn)在的科技已經(jīng)可以實(shí)現(xiàn)很多種網(wǎng)絡(luò)交流方式和信息傳播方式,但是聊天室一直是最基礎(chǔ)之一。聊天室技術(shù)仍然是我們學(xué)習(xí)的基礎(chǔ)和重點(diǎn)。本次課題將全面的分析與設(shè)計(jì)一個(gè)網(wǎng)絡(luò)聊天室。網(wǎng)絡(luò)聊天室現(xiàn)在已經(jīng)有相當(dāng)成熟的發(fā)展了,QQ,微信等主流的聊天工具是這項(xiàng)技術(shù)的代表。在當(dāng)下成熟的編程環(huán)境下,聊天室的設(shè)計(jì)與實(shí)現(xiàn)是一個(gè)重要的基礎(chǔ)練習(xí)。下面將簡(jiǎn)要介紹一下網(wǎng)絡(luò)聊天室的特點(diǎn):1) 便捷性:擺脫了傳統(tǒng)的通信方式,利用網(wǎng)絡(luò)的廉價(jià)性,可以使用戶更加自由地相互交流。2) 安全性:網(wǎng)絡(luò)環(huán)境下,用戶可以針對(duì)地去了解自己想要了解的信息,交流時(shí)可以使用虛擬的身份,一定程度上很好地保護(hù)了用戶的個(gè)人隱私信息。3) 實(shí)時(shí)性:用戶只要與想要通信的另一方取得聯(lián)系,即可想面對(duì)面對(duì)話一樣交流。3.2 概要設(shè)計(jì)本次試驗(yàn)設(shè)計(jì)一個(gè)網(wǎng)絡(luò)聊天室,該軟件采用Client/Server架構(gòu)。聊天室的功能主要有:1) Client A 登陸聊天服務(wù)器前,需要注冊(cè)自己的ID和密碼2) 注冊(cè)成功后,Client A 就可以通過(guò)自己的ID和密碼登陸聊天服務(wù)器3) 多個(gè)Client X 可以同時(shí)登陸聊天服務(wù)器之后,與其他用戶進(jìn)行通訊聊天4) Client A成功登陸后可以查看當(dāng)前聊天室內(nèi)其他在線用戶Client X5) Client A可以選擇發(fā)消息給某個(gè)特定的Client X,即“悄悄話”功能6) Client A 可以選擇發(fā)消息全部的在線用戶,即“群發(fā)消息”功能7) Client A 在退出時(shí)需要保存聊天記錄8) Server端維護(hù)一個(gè)所有登陸用戶的聊天會(huì)的記錄文件,以便備查3.3 詳細(xì)設(shè)計(jì)1) 功能結(jié)構(gòu)圖:2) 程序流程圖:l 注冊(cè):l 登錄:l 傳送文件:l 發(fā)送消息:4課程設(shè)計(jì)成果4.1 主要模塊設(shè)計(jì)1)注冊(cè)模塊:client.c:server.c:check.c:此截圖是在注冊(cè)時(shí)系統(tǒng)判斷注冊(cè)用戶是否重名的模塊:2)發(fā)送消息模塊:client.c:創(chuàng)建線程處理消息隊(duì)列。這是消息處理函數(shù):sever.c:發(fā)送給所有人的消息處理:發(fā)送給指定用戶的消息處理:display.c:顯示發(fā)送的消息:4.2 運(yùn)行結(jié)果服務(wù)器端:服務(wù)器端查看連接用戶列表:客戶端一:客戶端一發(fā)送消息給所有人:消息顯示界面:客戶端一查看在線用戶列表:客戶端一向客戶端二傳送文件:客戶端二接收文件:客戶端二退出:服務(wù)器端顯示退出消息:服務(wù)器端踢出客戶端一:5.課程設(shè)計(jì)心得本次實(shí)驗(yàn)實(shí)現(xiàn)的網(wǎng)絡(luò)聊天室使用了Linux程序設(shè)計(jì)的很多重點(diǎn)的基礎(chǔ)知識(shí)。這是一次非常綜合的程序設(shè)計(jì)。我負(fù)責(zé)注冊(cè)和登錄界面的功能,這次實(shí)現(xiàn)的網(wǎng)絡(luò)聊天室還有很多不足之處,主要是用戶使用的友好性的設(shè)計(jì)。程序還需要大量的測(cè)試才能達(dá)到人機(jī)友好性的標(biāo)準(zhǔn)。本次CSDN上一位博主的原創(chuàng)代碼。使用結(jié)構(gòu)化軟件設(shè)計(jì)的思路,采用瀑布開(kāi)發(fā)模式, 6次迭代,其中有五個(gè)重要的迭代模型和七個(gè)基線模型產(chǎn)生。另外,在注冊(cè)和登錄模塊中,用戶信息文件是不能隨便寫(xiě)入的,只有讀取到注冊(cè)標(biāo)志位時(shí),才能開(kāi)放用戶信息的文件的寫(xiě)入權(quán)限,這里用到了文件操作中的文件功能庫(kù)中的函數(shù)去實(shí)現(xiàn)。另外,在消息顯示模塊中,聊天日志文件是關(guān)閉所有文件權(quán)限的,用到文件操作權(quán)限時(shí)才能開(kāi)放,用完則歸還權(quán)限。對(duì)于客戶端的連接、消息的處理和文件傳送,我都是使用線程管理技術(shù)去實(shí)現(xiàn)的,這樣

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論