資源描述:
《Linux下網(wǎng)絡(luò)聊天工具.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、嵌入式操作系統(tǒng)課程設(shè)計(jì)Linux下網(wǎng)絡(luò)聊天工具設(shè)計(jì)報(bào)告作者:指導(dǎo)教師:34嵌入式操作系統(tǒng)課程設(shè)計(jì)團(tuán)隊(duì)照片口號(hào):34嵌入式操作系統(tǒng)課程設(shè)計(jì)課程設(shè)計(jì)任務(wù)書(shū)課題名稱《嵌入式LINUX》課程設(shè)計(jì)完成時(shí)間指導(dǎo)教師職稱學(xué)生姓名班級(jí)總體設(shè)計(jì)要求總體設(shè)計(jì)要求:課程設(shè)計(jì)內(nèi)容自選定1個(gè)題目,每個(gè)學(xué)生按照課程設(shè)計(jì)要求,在規(guī)定的兩周時(shí)間內(nèi)獨(dú)立完成題目:Linux下網(wǎng)絡(luò)聊天室涉及內(nèi)容:1.注冊(cè)與登錄系統(tǒng)2.公聊3.私聊4.文件傳輸工作內(nèi)容及時(shí)間進(jìn)度安排第一周、周1:設(shè)計(jì)動(dòng)員,布置課程設(shè)計(jì)任務(wù),查閱資料,制定方案,進(jìn)行程序方案設(shè)計(jì)第一周、周2-周5:編寫(xiě)和調(diào)試程序第二周、
2、周1-周3:編寫(xiě)和調(diào)試程序第二周、周4:整理,撰寫(xiě)設(shè)計(jì)報(bào)告第二周、周5:驗(yàn)收,提交設(shè)計(jì)報(bào)告,評(píng)定成績(jī)。課程設(shè)計(jì)成果1、課程設(shè)計(jì)報(bào)告書(shū)一份2、源程序清單一份3、成果使用說(shuō)明書(shū)一份34嵌入式操作系統(tǒng)課程設(shè)計(jì)摘要隨著嵌入式在生活中的應(yīng)用越來(lái)越廣泛,嵌入式LINUX下的socket網(wǎng)絡(luò)編程也越來(lái)越熱門(mén)。為了加強(qiáng)對(duì)Linux系統(tǒng)下的編程的各種知識(shí)點(diǎn)的整合與靈活運(yùn)用,讓我們更加熟悉Linux下的編程操作,我們選擇了Linux下網(wǎng)絡(luò)聊天工具作為課設(shè)題目。本系統(tǒng)主要功能在于實(shí)現(xiàn)多個(gè)客戶端與服務(wù)器端之間的信息傳遞與文件傳輸功能。系統(tǒng)主要實(shí)現(xiàn)4大聊天室功能:注冊(cè)與
3、登錄系統(tǒng),公聊,私聊,文件傳輸。應(yīng)用LINUX下的socket網(wǎng)絡(luò)編程并使用TCP實(shí)現(xiàn)簡(jiǎn)單聊天程序。編程過(guò)程中不斷用各種網(wǎng)絡(luò)調(diào)試工具進(jìn)行調(diào)試程序,最終做成了簡(jiǎn)單的在LINUX下的聊天工具。關(guān)鍵詞:LINUX下的socket網(wǎng)絡(luò)編程TCP聊天工具34嵌入式操作系統(tǒng)課程設(shè)計(jì)目錄第1章緒論61.1課程設(shè)計(jì)目的61.2課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境61.3課程設(shè)計(jì)總體要求6第2章系統(tǒng)方案72.1系統(tǒng)功能72.2模塊化分72.3模塊調(diào)用關(guān)系72.4功能需求與系統(tǒng)模塊的關(guān)系8第3章實(shí)現(xiàn)原理93.1注冊(cè)、登陸實(shí)現(xiàn)原理93.1.1服務(wù)器端93.1.2客戶端113.2私聊實(shí)
4、現(xiàn)原理123.2.1客戶端123.2.2服務(wù)器端133.3公聊實(shí)現(xiàn)原理133.3.1客戶端133.3.2服務(wù)器端133.4文件傳輸實(shí)現(xiàn)原理143.4.1客戶端143.4.2服務(wù)器端14第4章系統(tǒng)實(shí)現(xiàn)154.1注冊(cè)與登錄系統(tǒng)實(shí)現(xiàn)154.2聊天功能實(shí)現(xiàn)164.3傳輸文件功能實(shí)現(xiàn)16總結(jié)17附錄18參考文獻(xiàn)3334嵌入式操作系統(tǒng)課程設(shè)計(jì)第1章緒論1.1課程設(shè)計(jì)目的本次課設(shè)主要是為了加強(qiáng)對(duì)Linux系統(tǒng)下的編程的各種知識(shí)點(diǎn)的整合與靈活運(yùn)用,讓我們更加熟悉Linux下的編程操作。重點(diǎn)在Linux下socket編程,了解TCP、UDP等協(xié)議的使用,并完成課
5、設(shè)題目。1.2課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境硬件:PC機(jī)兩臺(tái)以上軟件:紅旗LINUX系統(tǒng)VIM編譯器1.3課程設(shè)計(jì)總體要求1.在LINUX下實(shí)現(xiàn)網(wǎng)絡(luò)聊天,包括公聊、一對(duì)多私聊等功能;2.實(shí)現(xiàn)客戶端之間經(jīng)網(wǎng)絡(luò)傳輸文件;3.保存聊天記錄,以備必要時(shí)查詢。34嵌入式操作系統(tǒng)課程設(shè)計(jì)第2章系統(tǒng)方案2.1系統(tǒng)功能系統(tǒng)主要實(shí)現(xiàn)4大聊天室功能:1.注冊(cè)與登錄系統(tǒng)2.公聊3.私聊4.文件傳輸2.2模塊化分系統(tǒng)結(jié)構(gòu)如圖2-1所示:主模塊文件傳輸公聊私聊注冊(cè)登陸圖2-1聊天系統(tǒng)模塊劃分圖2.3模塊調(diào)用關(guān)系各模塊間調(diào)用關(guān)系如圖2-2所示:34嵌入式操作系統(tǒng)課程設(shè)計(jì)注冊(cè)(未注冊(cè)用
6、戶入口)登錄公聊私聊文件傳輸已注冊(cè)用戶入口圖2-2各模塊間調(diào)用關(guān)系2.4功能需求與系統(tǒng)模塊的關(guān)系功能需求與系統(tǒng)模塊的關(guān)系表:注冊(cè)登錄模塊公聊模塊私聊模塊文件傳輸模塊用戶注冊(cè)√用戶登陸√系統(tǒng)廣播√上下線提示√用戶私聊√文件傳輸√服務(wù)器踢出用戶√34嵌入式操作系統(tǒng)課程設(shè)計(jì)第3章實(shí)現(xiàn)原理3.1注冊(cè)、登陸實(shí)現(xiàn)原理3.1.1服務(wù)器端服務(wù)器端建立好socket,等待連接,當(dāng)有客戶端連接服務(wù)器的時(shí)候,服務(wù)器接收連接,并接受客戶端發(fā)送過(guò)來(lái)的消息,根據(jù)接收到的結(jié)構(gòu)體所攜帶的協(xié)議來(lái)做相應(yīng)的功能。服務(wù)器端啟動(dòng)后如圖3-1所示:圖3-1服務(wù)器端界面1、注冊(cè):如果協(xié)議為
7、reg,則為客戶端注冊(cè),首先將發(fā)送過(guò)來(lái)的結(jié)構(gòu)體,提取用戶名和密碼,然后需要對(duì)用戶名合法性檢驗(yàn),驗(yàn)證之后如果用戶名合法則將用戶信息保存到文件中,合法性的規(guī)則包括用戶名不能重復(fù)和不能使用all等協(xié)議作為用戶名,并且用戶名和密碼都不能為空。如果注冊(cè)成功,服務(wù)器端發(fā)送一個(gè)消息給注冊(cè)的客戶端,同樣將消息保存在一個(gè)結(jié)構(gòu)體里。如果失敗,也給客戶端發(fā)送一個(gè)消息如“您輸入的用戶名不能為all”或者“用戶名XX已經(jīng)存在”。注冊(cè)結(jié)果如圖3-2所示。34嵌入式操作系統(tǒng)課程設(shè)計(jì)圖3-2注冊(cè)新用戶2、登錄:如果協(xié)議為login,則將用戶名和密碼信息提取,再遍歷存放用戶信息
8、文件里的用戶名和密碼,直到驗(yàn)證成功為止,如果驗(yàn)證成功則對(duì)所有在線的用戶發(fā)送一條消息:“提示XX用戶登錄成功”;如果失敗則只給登陸失敗的客戶端提示登錄失