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