基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本科學(xué)生畢業(yè)論文(設(shè)計(jì))題目(中 文):基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)(英 文):Design and Implementation of LAN Communication Tool Based on Qt姓 名 學(xué) 號(hào) 院 (系)電子工程系專業(yè)、年級(jí)電子信息工程 級(jí)指導(dǎo)教師 湖南科技學(xué)院本科畢業(yè)論文(設(shè)計(jì))誠(chéng)信聲明本人鄭重聲明:所呈交的本科畢業(yè)論文(設(shè)計(jì)),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議,除文中已經(jīng)注明引用的內(nèi)容外,本論文不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。本人

2、完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。 本科畢業(yè)論文(設(shè)計(jì))作者簽名:二 一 年 月 日II 畢業(yè)論文(設(shè)計(jì))任務(wù)書課題名稱:基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名: 系 別:電子工程系專 業(yè):電子信息工程指導(dǎo)教師: 1、主題詞、關(guān)鍵詞: 局域網(wǎng)即時(shí)通信 QT TCP/IP QTcpSocket QUdpsocket2、畢業(yè)論文(設(shè)計(jì))內(nèi)容要求: 利用Qt開發(fā)工具實(shí)現(xiàn)局域網(wǎng)聊天功能和文件傳輸功能。(1) 介紹Qt開發(fā)工具;(2) 界面設(shè)計(jì);(3) 聊天的實(shí)現(xiàn);(4) 文件傳輸?shù)膶?shí)現(xiàn);(5) 測(cè)試結(jié)果。3、文獻(xiàn)查閱指引:(1)從學(xué)校圖書館網(wǎng)頁上檢索相應(yīng)關(guān)鍵詞,查找相關(guān)資料;(2)通過網(wǎng)絡(luò)查

3、找關(guān)鍵詞,搜索相關(guān)資料;(3)登陸專業(yè)論壇進(jìn)行交流;(4)查閱相關(guān)的專業(yè)書籍;4、畢業(yè)論文(設(shè)計(jì))進(jìn)度安排:(1)2012年12月:確定課題,檢索與課題相關(guān)的文章,收集相關(guān)資料確定設(shè)計(jì)方案;(2)2013年1月:查閱相關(guān)資料,進(jìn)行整體方案的設(shè)計(jì);(3)2013年2月-2013年3月:設(shè)計(jì)界面,編寫軟件;(4)2013年4月:根據(jù)查詢的資料撰寫論文,并在導(dǎo)師的指導(dǎo)下修改論文;(5)2013年5月:定稿,完成論文答辯。教研室意見: 負(fù)責(zé)人簽名: 注:本任務(wù)書一式三份,由指導(dǎo)教師填寫,經(jīng)教研室審批后一份下達(dá)給學(xué)生,一份交指導(dǎo)教師,一份留系里存檔。湖南科技學(xué)院本科畢業(yè)論文(設(shè)計(jì))開題報(bào)告書論文(設(shè)計(jì))

4、題目基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)作 者 姓 名郭銀偉所屬系、專業(yè)、年級(jí) 電子工程系 電子信息工程 專業(yè) 2009年級(jí)指導(dǎo)教師姓名、職稱張丹 碩士預(yù)計(jì)字?jǐn)?shù)10000開題日期2013-12-25選題的根據(jù):1)說明本選題的理論、實(shí)際意義 2)綜述國(guó)內(nèi)外有關(guān)本選題的研究動(dòng)態(tài)和自己的見解即時(shí)通信軟件是大家比較熟悉的一種網(wǎng)絡(luò)通信工具,而且網(wǎng)絡(luò)上有很成熟的應(yīng)用,比如騰訊QQ、飛信、飛鴿等。這些通信工具給我們的生活和學(xué)習(xí)帶來了很大的方便。不過這些成熟的軟件都只有Windows的版本,并沒有Linux版本,而且QQ等其他工具在Windows和Linux互通時(shí)也極為的不方便,在最新版的Linux上QQ只

5、能網(wǎng)頁登陸。所以對(duì)于Linux用戶來說市場(chǎng)上如果出現(xiàn)一款Linux系統(tǒng)下或者是跨平臺(tái)的軟件能夠提供即時(shí)聊天、文件傳輸、視頻通話等功能,這將大大的方便用戶的生活工作和學(xué)習(xí)。本軟件針對(duì)市場(chǎng)上的此類現(xiàn)象專門選用的QT跨平臺(tái)開發(fā)環(huán)境使用跨平臺(tái)的跨平臺(tái)標(biāo)準(zhǔn)庫,使得軟件可以在不同的平臺(tái)上編譯運(yùn)行,實(shí)現(xiàn)跨平臺(tái)通信的目的,尤其是在傳輸文件的時(shí)候這種特性的優(yōu)勢(shì)將更加明顯。主要內(nèi)容:緒論1 開發(fā)工具簡(jiǎn)介2 軟件設(shè)計(jì)與代碼分析3 測(cè)試結(jié)果 4 結(jié)論研究方法:1. 查閱國(guó)內(nèi)外最新資料,開拓視野,對(duì)已有的成果加以分析利用。虛心向?qū)熀屯瑢W(xué)學(xué)習(xí),不斷積累知識(shí),再運(yùn)用所學(xué)知識(shí),完成論文。2. 把整體的程序分成多個(gè)功能模塊完

6、成期限和采取的主要措施: 2013年12月到2013年5月8日主要措施:嚴(yán)格遵照湖南科技學(xué)院畢業(yè)論文(設(shè)計(jì))工作管理辦法的指示精神,結(jié)合個(gè)人的實(shí)際情況,我完成這項(xiàng)設(shè)計(jì)所采取的主要措施有兩條:一是密切聯(lián)系。聯(lián)系畢業(yè)設(shè)計(jì)指導(dǎo)導(dǎo)師,尋求有關(guān)畢業(yè)設(shè)計(jì)信息,確定設(shè)計(jì)課題方向與設(shè)計(jì)內(nèi)容;二是虛心學(xué)習(xí)。利用課余時(shí)間到圖書館和網(wǎng)絡(luò)上查閱資料,并虛心向老師請(qǐng)教和同學(xué)進(jìn)行學(xué)習(xí)交流,保障畢業(yè)設(shè)計(jì)的順利完成。主要參考資料:1 Jasmin Blanchette,Mark Summerfield.C+GUI Programming with QT4M.2008. 2 蔡志明,盧傳富等.精通Qt4編程(第2版)M.電子工

7、業(yè)出版社.2011.2.3 成潔,盧紫毅.Linux窗口程序設(shè)計(jì)Qt4精彩實(shí)例分析M.清華大學(xué)出版社.4 麗娜. 基于Qt/Emebeded的嵌入式GUI的窗口設(shè)計(jì)J. 廊坊師范學(xué)院學(xué)報(bào)(自然科學(xué)版).2012, 1:31-335 Hoyt等二次之作.AureoLEO. Linux操作系統(tǒng)下C語言編程入門M 2005.12. 6(美)索林(Solingen,P.)著, 袁鵬飛譯.24小時(shí)學(xué)通qt編程M .人民郵電出版社.7 精通QT4編程 (電子文檔).8 吳子平,徐愛鈞.基于Qt/Emebeded的嵌入式GUI的研究與構(gòu)建.電腦開發(fā)與應(yīng)用 J.2012, 1:13-16.9(美)Kennet

8、h A.Reek著.徐波 譯.C和指針M .人民郵電出版社.10 Stephen Prata.C+Primer Plus(第5版)中文版M.人民郵電出版社.2005.5.指導(dǎo)教師意見:指導(dǎo)教師簽名: 教研室意見:簽 名: 年 月 日開 題 報(bào) 告 會(huì) 紀(jì) 要時(shí)間 2012年12月25日地點(diǎn)三教103與會(huì)人員姓 名職務(wù)(職稱)姓 名職務(wù)(職稱)姓 名職務(wù)(職稱)張新安教授唐云講師潘海軍高級(jí)實(shí)驗(yàn)師梁曉琳講師李榮講師張丹碩士會(huì)議記錄摘要:會(huì)議主持人:記 錄 人:年 月 日指導(dǎo)小組意見負(fù)責(zé)人簽名: 年 月 日系部 意 見負(fù)責(zé)人簽名:年月日注:此表由學(xué)生本人填寫,一式三份,一份留系里存檔,指導(dǎo)老師和本人

9、各保存一份湖南科技學(xué)院畢業(yè)論文(設(shè)計(jì))中期檢查表畢業(yè)論文(設(shè)計(jì))題 目基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名郭銀偉學(xué) 號(hào)200906002306系 別電子工程系專 業(yè)電子信息工程指導(dǎo)教師張丹檢查日期2013.4.6指導(dǎo)教師檢查情況記載及修改意見:已經(jīng)完成的工作:1、學(xué)習(xí)模板的使用,學(xué)習(xí)文本文件的讀寫;2、完成單文檔程序的窗口拆分;3、完成了程序各界面的顯示;4、基本完成了整體程序的結(jié)構(gòu)設(shè)計(jì);5、初步完成程序功能;6、論文大部分內(nèi)容已經(jīng)完成。 下一步的工作:1、進(jìn)一步完善程序結(jié)構(gòu)邏輯;2、完成程序整體功能展示3、進(jìn)行調(diào)試,確定程序功能運(yùn)行無誤;4、同時(shí)繼續(xù)論文的寫作工作,找出錯(cuò)誤,完善論文

10、;簽名: 注:此表用于指導(dǎo)教師在學(xué)生畢業(yè)論文(設(shè)計(jì))初稿完成后對(duì)學(xué)生執(zhí)行任務(wù)書情況進(jìn)行中期檢查時(shí)用,由指導(dǎo)教師填寫。湖南科技學(xué)院畢業(yè)設(shè)計(jì)(論文)指導(dǎo)過程記錄表畢業(yè)論文(設(shè)計(jì))題目基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名郭銀偉學(xué)號(hào)200906002306專業(yè)班級(jí)電信0903指導(dǎo)教師張丹職稱碩士系(教研室)電子工程系(電子科學(xué)與技術(shù)教研室)指導(dǎo)過程記錄指導(dǎo)內(nèi)容記錄(一)選題指導(dǎo):由自己所學(xué)專業(yè)和掌握程度,選擇一個(gè)通過查閱資料和自己的努力,既能做到又有一定深度,能反映出自己所學(xué)知識(shí)掌握程度的題目。學(xué) 生 簽 名: 2013 年 1月4 日 指導(dǎo)教師簽名: 2013 年 1月4 日指導(dǎo)內(nèi)容記錄(二

11、)查閱資料指導(dǎo):1、 到圖書管查找和借閱有關(guān)的文獻(xiàn)和資料;2、 從網(wǎng)上查找和下載與選題有關(guān)的文獻(xiàn)和資料。學(xué) 生 簽 名: 2013 年 3月 2 日 指導(dǎo)教師簽名: 2013 年 3月 2 日指導(dǎo)內(nèi)容記錄(三)程序界面設(shè)計(jì)指導(dǎo): 界面設(shè)計(jì)的風(fēng)格簡(jiǎn)約,界面切換流暢。學(xué) 生 簽 名: 2013年3 月 10 日 指導(dǎo)教師簽名: 2013年3 月 10 日指導(dǎo)內(nèi)容記錄(四)程序功能實(shí)現(xiàn)指導(dǎo):程序?qū)崿F(xiàn)邏輯清晰,結(jié)構(gòu)要明朗,便于調(diào)試和檢錯(cuò)。學(xué) 生 簽 名: 2013年 3 月 23 日 指導(dǎo)教師簽名: 2013年 3 月 23 日指導(dǎo)過程記錄指導(dǎo)內(nèi)容記錄(五)論文寫作指導(dǎo):1、摘要內(nèi)容應(yīng)盡量精簡(jiǎn),反映論

12、文的主要內(nèi)容;2、論文格式的整體要求規(guī)范學(xué) 生 簽 名: 2013年4 月 3日 指導(dǎo)教師簽名: 2013年4 月 3日指導(dǎo)內(nèi)容記錄(六)論文初稿修改指導(dǎo): 1、流程圖畫線線條加粗,不清楚的圖片重新截??;2、軟件的調(diào)試與優(yōu)化。學(xué) 生 簽 名: 2013年 4 月 12 日 指導(dǎo)教師簽名: 2013年 4 月 12 日指導(dǎo)內(nèi)容記錄(七)論文定稿修改指導(dǎo): 1、論文排版規(guī)范; 2、文獻(xiàn)引用注意細(xì)節(jié)。學(xué) 生 簽 名: 2013年 4 月 20 日 指導(dǎo)教師簽名: 2013年 4 月 20 日指導(dǎo)內(nèi)容記錄(八)論文答辯指導(dǎo): 演示實(shí)物或進(jìn)行仿真,制作反映論文結(jié)構(gòu)的ppt演示文稿。學(xué) 生 簽 名: 20

13、13 年 4 月 23 日 指導(dǎo)教師簽名: 2013 年4 月 23 日答辯小組組長(zhǎng)意見(對(duì)情況是否屬實(shí)做出意見)組長(zhǎng)(簽名): 年 月 日注:本表與畢業(yè)論文一起裝訂存檔。湖南科技學(xué)院本科畢業(yè)論文(設(shè)計(jì))評(píng)審表論文題目基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)作者姓名郭銀偉所屬系、專業(yè)、年級(jí)電子工程系 電子信息工程 專業(yè) 2009年級(jí)指導(dǎo)教師姓名、職稱張丹 碩士字 數(shù)10000定稿日期2013.5.8中 文 摘 要本通信工具是面向局域網(wǎng)的即時(shí)通訊工具,可以實(shí)現(xiàn)文本聊天,文件傳輸?shù)裙δ?。本軟件的設(shè)計(jì)與實(shí)現(xiàn)也并不是完全為了畢業(yè)論文而做的無用軟件,其本身也有一定的實(shí)用性。首先本軟功能的實(shí)現(xiàn)不依賴外網(wǎng)?;?/p>

14、此我想到了開發(fā)這一的軟件,功能是允許用戶享受到高速便捷的局域網(wǎng)通信工具給他們的學(xué)習(xí)和生活帶來的便利。軟件的跨平臺(tái)特性也使得同局域網(wǎng)內(nèi)的不同平臺(tái)的用戶可以進(jìn)行無障礙的信息文件的傳輸。解決了一直以來linux用戶和windows用戶在沒有外網(wǎng)的情況下相互傳輸信息和文件的窘境。整套軟件使用QT開發(fā)工具設(shè)計(jì)開發(fā),充分的利用了QT庫的跨平臺(tái)特性。用到的主要通信協(xié)議是TCP/IP中的TCPServer UdpSocket,在QT開發(fā)平臺(tái)為用戶提供了豐富的API和開發(fā)實(shí)例,方便了開發(fā)者的使用。 本論文將對(duì)軟件的各處重要的能流程、實(shí)現(xiàn)原理、代碼實(shí)現(xiàn)和使用到的相關(guān)技術(shù)做詳細(xì)的論述和解釋。關(guān)鍵詞局域網(wǎng)即時(shí)通訊 Q

15、t TCP/IP QTcpSocket QUdpSocket英文摘要The communication is instant messaging tool for LAN, you can text chat and file transfer function. Design and implementation of this software is great practicality. First of all, this softwares implementation do not need to be connected to the internet network. Base

16、d on this, I thought to develop a software whose function is to allow Linux users to enjoy convenient high-speed LAN communication tool to their learning and life convenience. The cross-platform features of the software also allows users on different platforms within the same LAN can be a barrier-fr

17、ee file transfers. In one fell swoop solve the dilemma of linux users and windows users have been each other in case there is no external network to transfer information and files. Use the entire software design and development of QT development tools take full advantage of cross-platform features o

18、f the QT library. The main communication protocol used is TCP / IP TCPServer UdpSocket, of course, using the QT library using the API of the C language library. Fortunately, the QT development platform to provide users with rich API and development instance, more convenient use of development.This p

19、aper will throughout the important functions of the software process, principle, code and related technologies to use to do a detailed discussion and interpretation.關(guān)鍵詞LAN Instant Messaging Qt TCP/IP QTcpSocket QUdpSocket指導(dǎo)教師評(píng)定成績(jī)?cè)u(píng)審基元評(píng)審要素評(píng)審內(nèi)涵滿分指導(dǎo)教師實(shí)評(píng)分選題質(zhì)量25%目的明確符合要求選題符合專業(yè)培養(yǎng)目標(biāo),體現(xiàn)學(xué)科、專業(yè)特點(diǎn)和教學(xué)計(jì)劃的基本要求,達(dá)到畢業(yè)

20、論文(設(shè)計(jì))綜合訓(xùn)練的目的。10理論意義或?qū)嶋H價(jià)值符合本學(xué)科的理論發(fā)展,有一定的學(xué)術(shù)意義;對(duì)經(jīng)濟(jì)建設(shè)和社會(huì)發(fā)展的應(yīng)用性研究中的某個(gè)理論或方法問題進(jìn)行研究,具有一定的實(shí)際價(jià)值。10選題恰當(dāng)題目規(guī)模適當(dāng),難易度適中;有一定的科學(xué)性。5能力水平40%查閱文獻(xiàn)資料能力能獨(dú)立查閱相關(guān)文獻(xiàn)資料,歸納總結(jié)本論文所涉及的有關(guān)研究狀況及成果。10綜合運(yùn)用知識(shí)能力能運(yùn)用所學(xué)專業(yè)知識(shí)闡述問題;能對(duì)查閱的資料進(jìn)行整理和運(yùn)用;能對(duì)其科學(xué)論點(diǎn)進(jìn)行論證。10研究方案的設(shè)計(jì)能力整體思路清晰;研究方案合理可行。5研究方法和手段的運(yùn)用能力能運(yùn)用本學(xué)科常規(guī)研究方法及相關(guān)研究手段(如計(jì)算機(jī)、實(shí)驗(yàn)儀器設(shè)備等)進(jìn)行實(shí)驗(yàn)、實(shí)踐并加工處理、

21、總結(jié)信息。10外文應(yīng)用能力能閱讀、翻譯一定量的本專業(yè)外文資料、外文摘要和外文參考書目(特殊專業(yè)除外)體現(xiàn)一定的外語水平。5論文質(zhì)量35%文題相符較好地完成論文選題的目的要求。5寫作水平論點(diǎn)鮮明;論據(jù)充分;條理清晰;語言流暢。15寫作規(guī)范符合學(xué)術(shù)論文的基本要求。用語、格式、圖表、數(shù)據(jù)、量和單位、各種資料引用規(guī)范化、符合標(biāo)準(zhǔn)。10論文篇幅10000字左右。5實(shí)評(píng)總分 成績(jī)等級(jí) 指導(dǎo)教師評(píng)審意見:指導(dǎo)教師簽名: 說明:評(píng)定成績(jī)分為優(yōu)秀、良好、中等、及格、不及格五個(gè)等級(jí),實(shí)評(píng)總分90100分記為優(yōu)秀,8089分記為良好,7079分記為中等,6069分記為及格,60分以下記為不及格評(píng)閱教師評(píng)定成績(jī)?cè)u(píng)審基

22、元評(píng)審要素評(píng)審內(nèi)涵滿分評(píng)閱教師實(shí)評(píng)分選題質(zhì)量25%目的明確符合要求選題符合專業(yè)培養(yǎng)目標(biāo),體現(xiàn)學(xué)科、專業(yè)特點(diǎn)和教學(xué)計(jì)劃的基本要求,達(dá)到畢業(yè)論文(設(shè)計(jì))綜合訓(xùn)練的目的。10理論意義或?qū)嶋H價(jià)值符合本學(xué)科的理論發(fā)展,有一定的學(xué)術(shù)意義;對(duì)經(jīng)濟(jì)建設(shè)和社會(huì)發(fā)展的應(yīng)用性研究中的某個(gè)理論或方法問題進(jìn)行研究,具有一定的實(shí)際價(jià)值。10選題恰當(dāng)題目規(guī)模適當(dāng),難易度適中;有一定的科學(xué)性。5能力水平40%查閱文獻(xiàn)資料能力能獨(dú)立查閱相關(guān)文獻(xiàn)資料,歸納總結(jié)本論文所涉及的有關(guān)研究狀況及成果。10綜合運(yùn)用知識(shí)能力能運(yùn)用所學(xué)專業(yè)知識(shí)闡述問題;能對(duì)查閱的資料進(jìn)行整理和運(yùn)用;能對(duì)其科學(xué)論點(diǎn)進(jìn)行論證。10研究方案的設(shè)計(jì)能力整體思路清晰;

23、研究方案合理可行。5研究方法和手段的運(yùn)用能力能運(yùn)用本學(xué)科常規(guī)研究方法及相關(guān)研究手段(如計(jì)算機(jī)、實(shí)驗(yàn)儀器設(shè)備等)進(jìn)行實(shí)驗(yàn)、實(shí)踐并加工處理、總結(jié)信息。10外文應(yīng)用能力能閱讀、翻譯一定量的本專業(yè)外文資料、外文摘要和外文參考書目(特殊專業(yè)除外)體現(xiàn)一定的外語水平。5論文質(zhì)量35%文題相符較好地完成論文選題的目的要求。5寫作水平論點(diǎn)鮮明;論據(jù)充分;條理清晰;語言流暢。15寫作規(guī)范符合學(xué)術(shù)論文的基本要求。用語、格式、圖表、數(shù)據(jù)、量和單位、各種資料引用規(guī)范化、符合標(biāo)準(zhǔn)。10論文篇幅10000字左右。5實(shí)評(píng)總分 成績(jī)等級(jí) 評(píng)閱教師評(píng)審意見: 評(píng)閱教師簽名: 說明:評(píng)定成績(jī)分為優(yōu)秀、良好、中等、及格、不及格五個(gè)

24、等級(jí),實(shí)評(píng)總分90100分記為優(yōu)秀,8089分記為良好,7079分記為中等,6069分記為及格,60分以下記為不及格。湖南科技學(xué)院本科畢業(yè)論文(設(shè)計(jì))答辯記錄表論文題目基于Qt的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)作者姓名郭銀偉所屬系、專業(yè)、年級(jí)電子工程系 電子信息工程專業(yè) 2009年級(jí)指導(dǎo)教師姓名、職稱張丹 碩士答 辯 會(huì) 紀(jì) 要時(shí)間2013年5月18日地點(diǎn)三教103答辯小組成員姓 名職務(wù)(職稱)姓 名職務(wù)(職稱)姓 名職務(wù)(職稱)張新安教授唐云講師潘海軍高級(jí)實(shí)驗(yàn)室梁曉琳講師李榮講師張丹碩士答辯中提出的主要問題及回答的簡(jiǎn)要情況記錄:會(huì)議主持人:記 錄 人:年 月 日答辯小組意見評(píng)語:評(píng)定等級(jí): 負(fù)責(zé)人

25、(簽名): 年 月 日系學(xué)位委員會(huì)意見評(píng)語:論文(設(shè)計(jì))最終評(píng)定等級(jí):負(fù)責(zé)人(簽名): 系部(公章) 年月 日校學(xué)位委員會(huì)意見評(píng)語:評(píng)定等級(jí): 負(fù)責(zé)人(簽名): 年月 日22目 錄緒論11開發(fā)技術(shù)介紹31.1 開發(fā)工具簡(jiǎn)介31.2 開發(fā)技術(shù)簡(jiǎn)介42 軟件設(shè)計(jì)與代碼分析82.2 功能模塊設(shè)計(jì)92.2.1登陸窗口功能模塊92.2.2 列表界面功能模塊102.2.3 聊天界面功能模塊122.3 各功能模塊流程圖及聯(lián)系132.3.1 登錄窗口功能流程設(shè)計(jì)132.3.2 列表窗口功能流程設(shè)計(jì)142.3.3 聊天窗口流程設(shè)計(jì)153 軟件測(cè)試173.1 模塊功能測(cè)試173.2 軟件整體功能測(cè)試17結(jié)論20參

26、考文獻(xiàn)21致 謝22基于Qt的局域網(wǎng)通信工具摘 要本通信工具是面向局域網(wǎng)的即時(shí)通訊工具,可以實(shí)現(xiàn)文本聊天,文件傳輸?shù)裙δ?。本軟件的設(shè)計(jì)與實(shí)現(xiàn)也并不是完全為了畢業(yè)論文而做的無用軟件,其本身也有一定的實(shí)用性。首先本軟功能的實(shí)現(xiàn)不依賴外網(wǎng)?;诖宋蚁氲搅碎_發(fā)這一的軟件,功能是允許用戶享受到高速便捷的局域網(wǎng)通信工具給他們的學(xué)習(xí)和生活帶來的便利。軟件的跨平臺(tái)特性也使得同局域網(wǎng)內(nèi)的不同平臺(tái)的用戶可以進(jìn)行無障礙的信息文件的傳輸。解決了一直以來linux用戶和windows用戶在沒有外網(wǎng)的情況下相互傳輸信息和文件的窘境。整套軟件使用QT開發(fā)工具設(shè)計(jì)開發(fā),充分的利用了QT庫的跨平臺(tái)特性。用到的主要通信協(xié)議是TC

27、P/IP中的TCPServer UdpSocket,在QT開發(fā)平臺(tái)為用戶提供了豐富的API和開發(fā)實(shí)例,方便了開發(fā)者的使用。 本論文將對(duì)軟件的各處重要的功能流程、實(shí)現(xiàn)原理、代碼實(shí)現(xiàn)和使用到的相關(guān)技術(shù)做詳細(xì)的論述和解釋?!娟P(guān)鍵詞】 局域網(wǎng)即時(shí)通訊 Qt TCP/IP QTcpSocket QUdpSocket Design and Implementation of LAN Communication Tool Based on QtAbstractThe communication is instant messaging tool for LAN, you can text chat and

28、file transfer function. Design and implementation of this software is great practicality. First of all, this softwares implementation do not need to be connected to the internet network. Based on this, I thought to develop a software whose function is to allow Linux users to enjoy convenient high-sp

29、eed LAN communication tool to their learning and life convenience. The cross-platform features of the software also allows users on different platforms within the same LAN can be a barrier-free file transfers. In one fell swoop solve the dilemma of linux users and windows users have been each other

30、in case there is no external network to transfer information and files. Use the entire software design and development of QT development tools take full advantage of cross-platform features of the QT library. The main communication protocol used is TCP / IP TCPServer UdpSocket, of course, using the

31、QT library using the API of the C language library. Fortunately, the QT development platform to provide users with rich API and development instance, more convenient use of development.This paper will throughout the important functions of the software process, principle, code and related technologie

32、s to use to do a detailed discussion and interpretation.【Key words】LAN Instant Messaging Qt TCP/IP QTcpSocket QUdpSocket緒論 一、設(shè)計(jì)的目的及意義即時(shí)通信軟件是大家都比較熟悉的一種網(wǎng)絡(luò)通信工具,而且網(wǎng)絡(luò)上有很成熟的應(yīng)用,比如騰訊QQ、飛信、飛鴿、飛秋等等。這些為我們的工作生活和學(xué)習(xí)交流帶來了很大的方便。但是這些軟件大都是只在Windows平臺(tái)下才有,尤其是飛信、飛鴿、飛秋,只有Windows的版本,并沒有Linux版本5,而且QQ等其他工具在Windows和Linux互通時(shí)也

33、極為的不方便,在最新版的Linux上QQ只能網(wǎng)頁登陸。所以對(duì)于Linux用戶來說市場(chǎng)上如果出現(xiàn)一款Linux系統(tǒng)下或者是跨平臺(tái)的軟件能夠提供即時(shí)聊天、文件傳輸、視頻通話等功能,這將大大的方便用戶的生活工作和學(xué)習(xí)。該程序的設(shè)計(jì)的目的就是為L(zhǎng)inux用戶,還有跨平臺(tái)的群組用戶提供一個(gè)實(shí)用的交流工具,實(shí)現(xiàn)局域網(wǎng)內(nèi)部各個(gè)平臺(tái)上用戶的信息交流,文件傳輸?shù)鹊?。同時(shí),由于本軟件是面向局域網(wǎng)用戶的,所以就省去了互聯(lián)網(wǎng)通信軟件復(fù)雜的登陸過程,簡(jiǎn)單的雙擊即可運(yùn)行使用,并且不要求用戶接入互聯(lián)網(wǎng)就能運(yùn)行使用,只要在一個(gè)局域網(wǎng)內(nèi)即可進(jìn)行通信,這也是局域網(wǎng)通信的一大優(yōu)點(diǎn)。本軟件主要有以下幾大應(yīng)用:(1)跨平臺(tái)的通信聊天。

34、局域網(wǎng)內(nèi)各個(gè)平臺(tái)上的用戶可使用本軟件件進(jìn)行方便的安全的聊天交流,并且還提供全網(wǎng)群組聊天功能,更加方便集體交流,為用戶的學(xué)習(xí)、工作帶來方便,從而提高用戶的學(xué)習(xí)和作效率。(2)跨平臺(tái)的文件傳輸。本軟件為用戶提供了高速的文件傳輸功能,并且同時(shí)也可實(shí)現(xiàn)跨平臺(tái)的高速文件傳輸,這是其他即時(shí)通信工具所不具有的。解決了平時(shí)不同平臺(tái)上的用戶最為頭疼的非得用U盤的存儲(chǔ)介質(zhì)來回的粘貼復(fù)制的窘境。極大的方便了用戶。這恐怕也是局域網(wǎng)即時(shí)通訊軟件最為常用的功能??缙脚_(tái)的局域網(wǎng)高速文件傳輸也正是本軟件的市場(chǎng)切入點(diǎn),具有一定的市場(chǎng)前景。本軟件的設(shè)計(jì)的意義:本軟件的設(shè)計(jì)的意義很明顯,在就是為了方便用戶的工作和學(xué)習(xí),同時(shí)本軟件如

35、果在Linux上發(fā)布,屆時(shí)肯定為開源軟件,也為廣大的互聯(lián)網(wǎng)用戶提供一個(gè)良好的教材,同時(shí)也可以集合眾多的互聯(lián)網(wǎng)用戶之力來完善本軟件。二、開發(fā)背景隨著網(wǎng)路的出現(xiàn),它在人們的生活中所扮演的角色越來越多,也越來越重要,人們可以通過這個(gè)空間進(jìn)行網(wǎng)絡(luò)聊天,實(shí)現(xiàn)彼此溝通,交換信息,甚至網(wǎng)絡(luò)聊天工具在部分人的生活中由于傳統(tǒng)的電話通訊手段同等重要的趨勢(shì)。目前市場(chǎng)上的的即時(shí)通信工具雖然種類很多,且應(yīng)用也比較成熟,但是這并不意味著這些軟件對(duì)于市場(chǎng)的完全覆蓋。目前市場(chǎng)上依然有著通信軟件的盲區(qū),在這幾年的學(xué)習(xí)的應(yīng)用中,我發(fā)現(xiàn)Linux系統(tǒng)上就沒有一款比較好的局域網(wǎng)即時(shí)通信軟件。局域網(wǎng)的即時(shí)通信軟件是以企業(yè)內(nèi)部辦公,建立

36、員工交流平臺(tái)為基礎(chǔ)通過系統(tǒng)整合,邊緣功能和實(shí)時(shí)協(xié)作的方案。由于企業(yè)對(duì)信息類軟件的需求還在“探索”和“嘗試”階段,所以會(huì)導(dǎo)致很多系統(tǒng)不能互通,如Linux和Windows,這也成了局域網(wǎng)即時(shí)通信軟件的一個(gè)使命。當(dāng)信息軟件被廣泛使用之后,“互通”接口是否具備,將被作為軟件選用的重要條件。本軟件針對(duì)市場(chǎng)上的此類現(xiàn)象專門選用的QT跨平臺(tái)開發(fā)環(huán)境使用跨平臺(tái)的跨平臺(tái)標(biāo)準(zhǔn)庫1,使得軟件可以在不同的平臺(tái)上編譯運(yùn)行,實(shí)現(xiàn)跨平臺(tái)通信的目的,尤其是在傳輸文件的時(shí)候這種特性的優(yōu)勢(shì)將更加明顯。1開發(fā)技術(shù)介紹1.1 開發(fā)工具簡(jiǎn)介 Qt是一個(gè)跨平臺(tái)的C+圖形用戶界面庫,由挪威TrollTech公司出品,目前包括Qt、基于F

37、rameBuffer的Qtopia Core、快速開發(fā)工具Qt Designer2和國(guó)際化工具Qt Linguist等部分。Qt支持所有的UNIX系統(tǒng),當(dāng)然也包括Linux系統(tǒng),還支持WinNT/Win2k、Windows 95/98平臺(tái)。基本上Qt同X-Window上的Motif、Openwin、GTK等圖形界面庫和Windows平臺(tái)上的MFC、OWL、VCL、ATL是同類型的。不過Qt還具有下列一些優(yōu)點(diǎn):(1)優(yōu)良的跨平臺(tái)特性Qt支持下列操作系統(tǒng):Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX、D

38、igital UNIX (OSF/1、Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390和QNX等。(2)面向?qū)ο驫t的良好封裝機(jī)制使得Qt的模塊化程度非常高,可重用性較好,對(duì)于用戶開發(fā)來說是非常方便的。Qt提供了一種稱為signals/slots 的安全類型來替代callback,這使得各個(gè)元件之間的協(xié)同工作變得十分簡(jiǎn)單。(3)豐富的APIQt包括多達(dá)250個(gè)以上的C+類,還提供基于模板的collections、serialization、file、I/O device、directory management和date/time類。甚至還包括正則表達(dá)式的處理功

39、能。(4)支持2D/3D圖形渲染,支持OpenGL3(5)大量的開發(fā)文檔(6)XML支持但是真正使得Qt在自由軟件界的眾多Widgets(如Lesstif、Gtk、EZWGL、Xforms及fltk等)中脫穎而出的還是基于Qt的重量級(jí)軟件KDE。Qt雖然是商業(yè)公司的產(chǎn)品,但是走的卻是開源路線,提供免費(fèi)下載,全部都是開放源代碼,非商業(yè)用途亦采用GPL的版權(quán)宣告,著名的Open SourceKDE項(xiàng)目便是采用Qt開發(fā)的。Trolltech也針對(duì)嵌入式環(huán)境推出了Qt/Embedded產(chǎn)品。與桌面版本不同,Qt/Embedded已經(jīng)直接取代了X Server及X Library等角色,將所有的功能全部

40、整合在一起。Qt/Embedded4同樣具有跨平臺(tái)的特點(diǎn),省掉了不少移植軟件的功夫,這樣的概念和Java十分接近。同時(shí)它還采用模塊化設(shè)計(jì),其最大的好處是有彈性,Qt/Embedded號(hào)稱最小,可以縮到800 KB左右,最多可以長(zhǎng)到3 MB(for Intel x86),這樣的彈性也讓Qt/Embedded更適合在嵌入式環(huán)境下生存。Qt/Embedded延續(xù)了Qt在X上的強(qiáng)大功能,在底層摒棄了X lib,僅采用FrameBuffer作為底層圖形接口。同時(shí),將外部輸入設(shè)備抽象為keyboard和mouse輸入事件,底層接口支持鍵盤、GPM鼠標(biāo)、觸摸屏及用戶自定義的設(shè)備等。Qt/Embedded類庫

41、完全采用C+封裝。豐富的控件資源和較好的可移植性是Qt/Embedded最為優(yōu)秀的一方面。它的類庫接口完全兼容于同版本的Qt-X11,使用X下的開發(fā)工具可以直接開發(fā)基于Qt/Embedded的應(yīng)用程序QUI界面5。與前兩種GUI不同的是,Qt/Embedded的底層圖形引擎只能采用FrameBuffer,這就注定了它是針對(duì)高端嵌入式圖形領(lǐng)域的應(yīng)用而設(shè)計(jì)的。由于該庫的代碼追求面面俱到,以增加它對(duì)多種硬件設(shè)備的支持,造成了其底層代碼比較凌亂,各種補(bǔ)丁較多的問題。Qt/Embedded的結(jié)構(gòu)也過于復(fù)雜和臃腫,很難進(jìn)行底層的擴(kuò)充、定制和移植,尤其是用來實(shí)現(xiàn)signal/slot機(jī)制的moc文件。Qt/

42、Embedded當(dāng)前已經(jīng)升級(jí)為Qtopia Core和Qtopia Core,繼承了Qt4的新技術(shù),包括:高性能渲染引擎、模板容器類及基于行為的主窗口架構(gòu),改進(jìn)的功能特點(diǎn)包括文本渲染與多線程技術(shù)。當(dāng)編譯Qtopia Core時(shí),可以去除不用的功能,以最小化軟件的占用空間。1.2 開發(fā)技術(shù)簡(jiǎn)介本軟件的開發(fā)所使用的技術(shù)總的來說可以分為以下幾大類:用來進(jìn)行通信的部分,Tcp socket通信 和 Qudpsocket6TCP即Transmission Control Protocol,傳輸控制協(xié)議。與UDP不同,它是面向連接和數(shù)據(jù)流的可靠傳輸協(xié)議。也就是說,它能使一臺(tái)計(jì)算機(jī)上的數(shù)據(jù)無差錯(cuò)的發(fā)往網(wǎng)絡(luò)上

43、的其他計(jì)算機(jī),所以當(dāng)要傳輸大量數(shù)據(jù)時(shí),我們選用TCP協(xié)議。TCP協(xié)議的程序使用的是客戶端/服務(wù)器模式,在QT中,使用QTcpServer類建立服務(wù)器。我們?cè)诜?wù)器端進(jìn)行端口的監(jiān)聽,一旦發(fā)現(xiàn)客戶端的連接請(qǐng)求,就會(huì)發(fā)出newConnection()信號(hào),我們可以關(guān)聯(lián)這個(gè)信號(hào)到我們自己的槽函數(shù),進(jìn)行相互之間套接字的建立。一旦有數(shù)據(jù)到來相應(yīng)端的套接字就會(huì)發(fā)出readyRead()信號(hào),我們可以關(guān)聯(lián)此信號(hào),進(jìn)行數(shù)據(jù)的接收。其通信模型如圖1.1。Qudpsocket 則是一種面向無連接的的不可靠的數(shù)據(jù)傳輸技術(shù),他可以不用tcp所需的連接,所以這種協(xié)議是盡最大努力的交付數(shù)據(jù),這種協(xié)議在網(wǎng)絡(luò)環(huán)境較好的局域網(wǎng)內(nèi)

44、應(yīng)用相當(dāng)有價(jià)值。其通信模型如圖1.2。(2)信號(hào)和槽7是Qt編程的一個(gè)重要部分。這個(gè)機(jī)制可以在對(duì)象之間彼此并不了解的情況下將它們的行為聯(lián)系起來。在前幾個(gè)例程中,我們已經(jīng)連接了信號(hào)和槽,聲明了控件自己的信號(hào)和槽,并實(shí)現(xiàn)了槽函數(shù),發(fā)送了信號(hào)。槽和普通的c+成員函數(shù)很像。它們可以是虛函數(shù)(virtual),也可被重載(overload),可以是公有的(public),保護(hù)的(protective),也可是私有的(private),它們可以象任何c+成員函數(shù)一樣被調(diào)用,可以傳遞任何類型的參數(shù)。不同在于一個(gè)槽函數(shù)能和一個(gè)信號(hào)相連接,只要信號(hào)發(fā)出了,這個(gè)槽函數(shù)就會(huì)自動(dòng)被調(diào)用。圖1.1 tcp通信模型con

45、nect函數(shù)語法如下:connect(sender, SIGNAL(signal), receiver, SLOT(slot);sender和receiver是QObject對(duì)象指針,signal和slot是不帶參數(shù)的函數(shù)原型。SIGNALE()和SLOT()宏的作用是把他們轉(zhuǎn)換成字符串。在目前有的例子中,我們已經(jīng)連接了不同的信號(hào)和槽。實(shí)際使用中還要考慮入戲一些規(guī)則:(一)一個(gè)信號(hào)可以連接到多個(gè)槽:connect(slider,SIGNAL(valueChanged(int),spinBox, SLOT(setValue(int);connect(slider,SIGNAL(valueChan

46、ged(int),this, SLOT(updateStatusBarIndicator(int);當(dāng)信號(hào)發(fā)出后,槽函數(shù)都會(huì)被調(diào)用,但是調(diào)用的順序是隨機(jī)的,不確定的。(二)多個(gè)信號(hào)可以連接到一個(gè)槽connect(lcd,SIGNAL(overflow(),this,SLOT(handleMathError();connect(calculator,SIGNAL(divisionByZero(),this,SLOT(handleMathError();任何一個(gè)信號(hào)發(fā)出,槽函數(shù)都會(huì)執(zhí)行。圖1.2 udp通信模型(三)一個(gè)信號(hào)可以和另一個(gè)信號(hào)相連connect(lineEdit, SIGNAL(te

47、xtChanged(const QString &),this, SIGNAL(updateRecord(const QString &);第一個(gè)信號(hào)發(fā)出后,第二個(gè)信號(hào)也同時(shí)發(fā)送。除此之外,信號(hào)與信號(hào)連接上和信號(hào)和槽連接相同。(四)連接可以被刪除disconnect(lcd,SIGNAL(overflow(),this,SLOT(handleMathError();這個(gè)函數(shù)很少使用,一個(gè)對(duì)象刪除后,Qt自動(dòng)刪除這個(gè)對(duì)象的所有連接。信號(hào)和槽函數(shù)必須有著相同的參數(shù)類型,這樣信號(hào)和槽函數(shù)才能成功連接:connect(ftp,SIGNAL(rawCommandReply(int,constQStrin

48、g&),this, SLOT(processReply(int, const QString &);如果信號(hào)里的參數(shù)個(gè)數(shù)多于槽函數(shù)的參數(shù),多余的參數(shù)被忽略:connect(ftp,SIGNAL(rawCommandReply(int, const QString&),this,SLOT(checkErrorCode(int);如果參速類型不匹配,或者信號(hào)和槽不存在,在debug狀態(tài)時(shí),Qt會(huì)在運(yùn)行期間給出警告。如果信號(hào)和槽連接時(shí)包含了參數(shù)的名字,Qt將會(huì)給出警告。以前我們列舉的例子中都是控件的信號(hào)和槽。但是信號(hào)和槽機(jī)制在 QObject中就實(shí)現(xiàn)了,可以實(shí)現(xiàn)在任何從QObject繼承的子類中。用

49、于控制與多人視頻的thread 和Qthread多線程技術(shù)多線程技術(shù)對(duì)于我們來說不應(yīng)該陌生,這種技術(shù)不僅節(jié)約存儲(chǔ)空間,提高程序的運(yùn)行效率。并且可以實(shí)現(xiàn)很多實(shí)用的功能。(5)用于控制界面顯示的QtGui庫內(nèi)容QtGui是一個(gè)非常強(qiáng)大的編程庫同時(shí)它也是QT中所有類的父類,它為用戶提供了豐富的API和各種實(shí)例,這些在前面開發(fā)工具基本已經(jīng)介紹,此處不再贅述。2 軟件設(shè)計(jì)與代碼分析2.1 界面結(jié)構(gòu)設(shè)計(jì)局域網(wǎng)聊天軟件和網(wǎng)絡(luò)版的聊天軟件雖然同為即時(shí)工具,但是仍然有許多的不公之處,通常的網(wǎng)絡(luò)即時(shí)通訊工具如騰訊qq需要有一個(gè)登錄的過程,用戶的客戶端只要在連接網(wǎng)絡(luò)的情況下,才能登錄服務(wù)器,所以qq是一種c/s結(jié)構(gòu)

50、的軟件。而我要設(shè)計(jì)實(shí)現(xiàn)的局域網(wǎng)即時(shí)通訊工具明顯不需要服務(wù)器端和登錄過程。打開軟件即可顯示在線用戶列表,在局域網(wǎng)內(nèi)也不需要專門的服務(wù)器。所以這種結(jié)構(gòu)是一種客戶端直接到客戶端的通信,即P to P結(jié)構(gòu)的軟件。這樣方便了用戶的操作,增加了程序的易用性。程序的主要界面模塊兒設(shè)計(jì)如下:(1)登陸界面登陸初始界面如圖2.1所示。圖2.1 登陸初始界面在輸入框中輸入的名字將作為聊天的昵稱。例:輸入:開始。如圖2.2所示。圖2.2 在登陸界面輸入開始回車確定后并由此跳轉(zhuǎn)到“列表界面 ”如圖2.3。圖2.3 列表界面(2)在線用戶列表界面有用戶上線將會(huì)自動(dòng)添加到列表中。雙擊列表用戶,彈出聊天窗口界面如圖2.4。(3) 聊天窗口界面圖2.5 聊天窗口界面2.2 功能模塊設(shè)計(jì)2.2.1登陸窗口功能模塊(1)獲取 用戶昵稱 ;(2)創(chuàng)建用戶列表對(duì)象并設(shè)置列表窗口的標(biāo)題。代碼如下:void login:on_nameedit_returnPressed() this-hide(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論