資源描述:
《Linux下類似QQ聊天工具.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、概述AbstractLinux作為免費開源操作系統(tǒng)廣泛應用于企業(yè)。Linux與UNIX有著深厚的淵源,而UNIX系統(tǒng)可謂“堅如磐石”,其穩(wěn)定性受到廣泛贊譽。近年來,越來越多的就業(yè)崗位被提供給了Linux開發(fā)人員。IM即時通訊軟件是近年來流行的通信方式,企業(yè)、個人等都在更多地使用IM進行溝通。通過計算機網(wǎng)絡,信息的傳遞變得十分方便。并非所有IM軟件都要想騰訊QQ那樣復雜、龐大,作為部溝通,只需功能齊全、操作方便即可。作為課程設計作品,在Linux下開發(fā)C/S式IM軟件,對于熟悉Linux、復習計算機網(wǎng)絡、進一步學習軟件開發(fā)都有十分積極的意義。Asisopensourceso
2、ftware,Linuxhasbeenwidelyusedincorporations.Theseyears,moreandmorejobsareofferedtoLinuxdevelopers,forLinuxspokenhighlyofforitsstabilityasUNIX.IMsoftwarehasbecomethemostwidelyusedcommunicationsoftwarebothforbusinessuseandforpersonaluse.Throughinternetworks-includingtheInternet,EnterpriseLA
3、N,VPNs-informationcanbeexchangedmoreconvenientlyandimmediately.However,notallIMofC/SmodelisthatcomplexasTencentQQ.IMsoftwareinsideanEnterpriseLANshouldbelighterandeasier.AsaproductdesignofLinux,developinganIMsoftwareishelpfultoreviewingkeypointsofLinux,Internet,andsoftwaredeveloping.目錄第1章
4、設計任務1.1.設計任務概述1.1.1.課題名稱Linux下的IM網(wǎng)絡聊天軟件1.1.2.容摘要隨著嵌入式在生活中的應用越來越廣泛,嵌入式LINUX下的Socket網(wǎng)絡編程也越來越熱。為了加強對在Linux系統(tǒng)下進行編程的學習和實踐,運用計算機網(wǎng)絡、軟件工程等知識,我們選擇了Linux下網(wǎng)絡聊天工具作為課設題目。本系統(tǒng)主要功能在于實現(xiàn)多個客戶端一與服務器端之問的信息傳遞與文件傳輸功能。系統(tǒng)主要實現(xiàn)4人聊天室功能:注冊與登錄系統(tǒng),公聊,私聊,文件傳輸。應用LINUX下的Socket網(wǎng)絡編程并使用TCP實現(xiàn)簡.單聊天程序。編程過程中不斷用各種網(wǎng)絡調(diào)試工具進行調(diào)試程序,最終做成
5、了簡單的在Linux下的聊天工具。關鍵詞:LinuxSocketIM軟件1.2.開發(fā)環(huán)境1.2.1.硬件環(huán)境Intelx86CPU架構(主頻1GHz以上)512MBDDR2存支持800*600以上分辨率、16色以上的顯示設備1.2.2.軟件環(huán)境RedHatEnterpriseLinux(或Fedora)VIM編譯器1.1.要求在Linux下實現(xiàn)網(wǎng)絡聊天,包括公聊、一對多私聊等功能。實現(xiàn)客戶端之間經(jīng)網(wǎng)絡傳輸文件。能保存聊天記錄。第1章設計方案1.1.系統(tǒng)結構1.1.1.結構結構組成:注冊、登錄、聊天、文件傳輸。1.1.2.結構圖聊天系統(tǒng)分為五大模塊1.2.流程與模塊1.2.
6、1.執(zhí)行流程1.2.2.各功能需要調(diào)用的模塊模塊需求注冊登錄聊天文件傳輸用戶注冊√用戶登錄√系統(tǒng)廣播√上下線提示√用戶私聊文件傳輸√強制下線√第1章實現(xiàn)原理1.1.注冊、登錄模塊1.1.1.服務器端服務器端建立好socket,等待連接,當有客戶端連接服務器的時候,服務器接收連接,并接受客戶端發(fā)送過來的消息,恨據(jù)接收到的結構體所攜帶的協(xié)議來做相應的功能:服務器端啟動后如圖31所示。圖31l、注冊:如果協(xié)議為reg,則為客戶端注冊,首先將發(fā)送過來的結構體,提取用戶名和密碼,然后需要對川戶名合法性檢驗,驗證之后如果用戶名合法則將川戶信.已保存到文件中,合法性的規(guī)則包括川戶名不能
7、重復和不能使用all等協(xié)議作為川戶名,并且川戶名和密碼都不能為空。如果注冊成功,服務器端發(fā)送一個消息給注冊的客戶端,同樣將消息保存在一個結構休里.如果失敗,也給客戶端發(fā)送一個消息如“您榆入的用戶名小能為akk”或者“用戶名XX已經(jīng)存在”。注冊結果如圖32所示。圖322、登錄:如果協(xié)議為login,則將用戶名和密碼信息提取,再遍歷存放用戶信息文件里的用戶名和密碼.直到驗證成功為止,如果驗證成功則對所有在線的川戶發(fā)送一條消息:“提示XX用戶登錄成功”;如果失敗則只給登陽.失敗的客戶端提示登錄失敗,并給出原囚,如“用戶名不存在”或者