freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于qt的局域網(wǎng)跨平臺(tái)即時(shí)通信軟件畢業(yè)論文-在線瀏覽

2025-05-01 10:16本頁面
  

【正文】 ................................................................................37 Module Testing ............................................................................................................37 Functional Testing .......................................................................................................38 Test Results..................................................................................................................39 6 CONCLUSION ...................................................................................................................46 References .........................................................................................................................47 Acknowledgements ...........................................................................................................48 圈圈通信 —— 基于 QT 的局域網(wǎng)即時(shí)通信軟件的設(shè)計(jì)與實(shí)現(xiàn) ********* ******* ******* ****** 【摘要】 圈圈通信是面向局域網(wǎng)的即時(shí)通訊工具,可以實(shí)現(xiàn)文本聊天,視頻通 話文件傳輸?shù)裙δ堋1拒浖脑O(shè)計(jì)與實(shí)現(xiàn)也并不是完全為了畢業(yè)論文而做 的無用軟件,其本身也有很大的實(shí)用性?;诖宋蚁氲搅碎_發(fā)一套這樣的軟件,功能是允許 linux用戶享受到高速便捷的局域網(wǎng)通信工具給他們的學(xué)習(xí)和生活帶來的便利。 解決了一直以來 linux用戶和 windows 用戶在沒有外網(wǎng)的情況下相互傳輸信息 和文件的窘境。同時(shí)在 linux版本的軟件上已經(jīng)實(shí)現(xiàn)了視頻通話的功能。用到的主要通信協(xié)議是 TCP/IP 中的 TCPServer UdpSocket,當(dāng)然其中有采用QT 庫的也有采用 C 語言庫的相應(yīng)的 API。 本論文將對(duì)軟件的各處重要的功能流程、實(shí)現(xiàn)原理、代碼實(shí)現(xiàn)和使用到的相關(guān)技術(shù)做詳細(xì)的論述和解釋。這些為我們的工作生活和學(xué)習(xí)交流帶來了 很大 的 方 便 。所以對(duì)于 Linux用戶來說市場上如果出現(xiàn)一款 Linux 系統(tǒng) 下或者是跨平臺(tái)的軟件能夠提供即時(shí)聊天、文件傳輸、視頻通話等功能 ,這將大大的方便用戶的生活工作和學(xué)習(xí)。同時(shí) ,由于本軟件 是面向局域網(wǎng)用戶的,所以就省去了互聯(lián)網(wǎng)通信軟件復(fù)雜的登陸過程,簡單的雙擊即可運(yùn)行使用,并且不要求用戶接入互聯(lián)網(wǎng)就能運(yùn)行使用, 只要在 一個(gè)局域網(wǎng) 內(nèi) 即可進(jìn)行通信,這也是局域網(wǎng)通信的一大優(yōu)點(diǎn)。局域網(wǎng)內(nèi)各個(gè)平臺(tái)上的用戶可使用本軟件件進(jìn)行方便的安全的聊天交流,并且還提供全網(wǎng)群組聊天功能,更加方便集體交流,為用戶的學(xué)習(xí)、工作帶來方便,從而提高用戶的學(xué)習(xí)和作效率。本軟件為用戶提供了高速的文件傳輸功能,并且同時(shí)也可實(shí)現(xiàn)跨平臺(tái)的高速文件傳輸,這是其他 即時(shí)通信工具所不具有的。極大的方便了用戶??缙脚_(tái)的局域網(wǎng)高速文件傳輸也正是本軟件的市場切入點(diǎn),具有一定的市場前景。本軟件同時(shí)為 Linux 用戶提供了視頻通話的功能,從而為用戶提供了更加有聲有色的的交流方式,在局域網(wǎng)內(nèi)使用語音聊天或許大部分時(shí)候都有些不合時(shí)宜。 山東農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文 2 本軟件的設(shè)計(jì)的意義:本軟件的設(shè)計(jì)的意義很明顯,在就是為了方便用戶的工作和 學(xué)習(xí),同時(shí)本軟件如果在 Linux 上發(fā)布,屆時(shí)肯定為開源軟件,也為廣大的互聯(lián)網(wǎng)用戶提供一個(gè)良好的教材,同時(shí)也可以集合眾多的互聯(lián)網(wǎng)用戶之力來完善本軟件。 目前市場上的的即時(shí)通信工具雖然種類很多,且應(yīng)用也比 較成熟,但是這并不意味著這些軟件對(duì)于市場的完全覆蓋。局域網(wǎng)的即時(shí)通信軟件是以企業(yè)內(nèi)部辦公,建立員工交流平臺(tái)為基礎(chǔ)通過系統(tǒng)整合,邊緣功能和實(shí)時(shí)協(xié)作的方案。當(dāng)信息軟件被廣泛使用之后 ,“互通”接口是否具備,將被作為軟件選用的重要條件。 山東農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文 3 2 開發(fā)技術(shù)簡介 開發(fā)工具簡介 Qt 是一個(gè)跨平臺(tái)的 C++圖形用戶界面庫,由挪威 TrollTech 公司出品,目前包括 Qt、基于 FrameBuffer 的 Qtopia Core、快速開發(fā)工具 Qt Designer 和國際化工具 Qt Linguist 等部分。 基本上 Qt 同 XWindow 上的 Motif、 Openwin、 GTK 等圖形界面庫和Windows 平臺(tái)上的 MFC、 OWL、 VCL、 ATL 是同類型的。 ( 2)面向?qū)ο? Qt 的良好封裝機(jī)制使得 Qt 的模塊化程度非常高,可重用性較好,對(duì)于用戶開發(fā)來說是非常方便的。 ( 3)豐富的 API Qt 包括多達(dá) 250 個(gè)以上的 C++類,還提供基于模板的 collections、serialization、 file、 I/O device、 directory management 和 date/time類。 ( 4)支持 2D/3D 圖形渲染,支持 OpenGL ( 5)大量的開發(fā)文檔 ( 6) XML 支持 但是真正使得 Qt 在自由軟件界的眾多 Widgets(如 Lesstif、 Gtk、EZWGL、 Xforms 及 fltk 等)中脫穎而出的還是基于 Qt 的重量級(jí)軟件 KDE。 山東農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文 4 Trolltech 也針對(duì)嵌入式環(huán)境推出了 Qt/Embedded 產(chǎn)品。 Qt/Embedded 同樣具有跨平臺(tái)的特點(diǎn),省掉了不少移植軟件的功夫,這樣的概念和 Java 十分接近。 Qt/Embedded 延續(xù)了 Qt 在 X 上的強(qiáng)大功能,在底層摒棄了 X lib,僅采用 FrameBuffer 作為底層圖形接口。 Qt/Embedded 類庫完全采用 C++封裝。它的類庫接口完全兼容于同版本的 QtX11,使用 X 下的開發(fā)工具可以直接開發(fā)基于 Qt/Embedded 的應(yīng)用程序 QUI 界面。由于該庫的代碼追求面面俱到,以增加它對(duì)多種硬件設(shè)備的支持,造成了其底層代碼比較凌亂,各種補(bǔ)丁較多的問題。 Qt/Embedded 當(dāng)前已經(jīng)升級(jí)為 Qtopia Core 和 Qtopia Core,繼承了Qt4 的新技術(shù),包括:高性能渲染引擎、模板容器類及基于行為的主窗口架構(gòu),改進(jìn)的功能特點(diǎn)包括文本渲染與多線程技術(shù)。 開發(fā)技術(shù)簡介 本軟件的開發(fā)所使用的技術(shù)總的來說可以分為以下幾大類: ( 1) 用來進(jìn)行通信的部分, Tcp socket 通信 和 Qudpsocket TCP 即 Transmission Control Protocol,傳輸控制協(xié)議。也就是說,它能使一臺(tái)計(jì)算機(jī)上的數(shù)據(jù)無差錯(cuò)的發(fā)往網(wǎng)絡(luò)上的其他計(jì)算機(jī),所以當(dāng)要傳輸大量數(shù)據(jù)時(shí),我們選用 TCP 協(xié)議。我們?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)行相互之間套接字的建立。 其通信模型如圖: Qudpsocket 則是一種面向無連接的的不可靠的數(shù)據(jù)傳輸技術(shù),他 可以不用 tcp 所需的連接,所以這種協(xié)議是盡最大努力的交付數(shù)據(jù),這種協(xié)議在網(wǎng)絡(luò)環(huán)境較好的局域網(wǎng)內(nèi)應(yīng)用相當(dāng)有價(jià)值。 這個(gè)機(jī)制可以在對(duì)象之間彼此并不了解的情況下將它們的行為聯(lián)系起來。 槽和普通的 c++成員函數(shù)很像。不同在于一個(gè)槽函數(shù)能和一個(gè)信號(hào)相連接,只要信號(hào)發(fā)出了,這個(gè)槽函數(shù)就會(huì) 自動(dòng)被調(diào)用。 sender 和 receiver 是 QObject 對(duì)象指針, signal 和 slot 是不帶參數(shù)山東農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文 7 的函數(shù)原型。 在目前有的例子中,我們已經(jīng)連接了不同的信號(hào)和槽。 connect(slider,SIGNAL(valueChanged(int)),this, SLOT(updateStatusBarIndicator(int)))。 (二) 多個(gè)信號(hào)可以連接到一個(gè)槽 connect(lcd,SIGNAL(overflow()),this,SLOT(handleMathError()))。 任何一個(gè)信號(hào)發(fā)出,槽函數(shù)都會(huì)執(zhí)行。)),this, SIGNAL(updateRecord(const QString amp。除此之外,信號(hào)與信號(hào)連接上和信號(hào)和槽連接相同。 這個(gè)函數(shù)很少使用,一個(gè)對(duì)象刪除后, Qt 自動(dòng)刪除這個(gè)對(duì)象的所有連接。)),this, SLOT(processReply(int, const QString amp。 如果信號(hào)里的參數(shù)個(gè)數(shù)多于槽函數(shù)的參數(shù),多余的參數(shù)被忽略: connect(ftp,SIGNAL(rawCommandReply(int, const QStringamp。 如果參速類型不匹配,或者信號(hào)和槽不存在,在 debug 狀態(tài)時(shí),Qt 會(huì)在運(yùn)行期間給出警告。 山東農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文 8 以前我們列舉的例子中都是控件的信號(hào)和槽。 ( 3)用于采集攝像頭數(shù)據(jù)的 V4l2 驅(qū)動(dòng) API 以及圖像壓縮技術(shù) V4L(Video for Linux )是 Linux 內(nèi)核中關(guān)于視頻設(shè)備的子系統(tǒng),它為linux 下的視頻驅(qū)動(dòng)提供了統(tǒng)一的接口,使得應(yīng)用程序可以使用統(tǒng)一的API 函數(shù)操作不同的視頻設(shè)備,極大地簡化了視頻系統(tǒng)的開發(fā)和維護(hù)。 V4L2 相比于V4L 有更好的擴(kuò)展性和靈活性,并且支持的硬件設(shè)備更多。 Linux 系統(tǒng)中,所有的外部設(shè)備都被看成一種特殊的文件,稱之為設(shè)備文件。V4L2 視頻設(shè)備的設(shè)備文件為 /dev 目錄下的 videoN(N 為 0~63)文件,其主設(shè)備號(hào)為 81,次設(shè)備號(hào)為 N(N 為 0~63)。 結(jié)構(gòu)體: struct v4l2_requestbuffers reqbufs。//這個(gè)設(shè)備的功能,比如是否是視頻輸入 備 struct v4l2_input input。//視頻的制式,比如 PAL, NTSC struct v4l2_format fmt。//代表驅(qū)動(dòng)中的一幀 v4l2_std_id stdid。//查詢的控制 struct v4l2_control control。并且可以實(shí)現(xiàn)很多實(shí)用的功能。 山東農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文 10 3 需求分析 功能需求分析 群 聊功能 局域網(wǎng)內(nèi)所有用戶都可在聊天室內(nèi)發(fā)送消息,并且接收其他用戶發(fā)往聊天室的消息,理論上用戶可以看到程序運(yùn)行后所有發(fā)往聊天室的消息。當(dāng)然用戶可以同時(shí)與多人進(jìn)行私聊而不會(huì)發(fā)生干擾。發(fā)送到對(duì)方的聊天窗口時(shí)這些文字依然要按照發(fā)送者的設(shè)置顯示。當(dāng)用戶點(diǎn)擊聊天記錄按鈕時(shí)還可以將對(duì)應(yīng)的聊天記錄顯示在擴(kuò)展出來的聊天 記錄顯示框內(nèi)。用戶還可以主動(dòng)的將信息顯示窗口內(nèi)的內(nèi)容自行的保存到自己想要保存的文件中去。 維護(hù)在線用戶列表 在線用戶列表只顯示局域網(wǎng)內(nèi)已經(jīng)運(yùn)行軟件的用戶的信息。當(dāng)有用戶退出時(shí)列表將其信息刪山東農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文 11 除,然后后邊的用戶一次向前移動(dòng)一行。程序運(yùn)行最初時(shí),列表上顯示的是用戶的系統(tǒng)用戶名。修改完后向全網(wǎng)實(shí)時(shí)更新。 以上功能都是可以跨平臺(tái)實(shí)現(xiàn)的也就是說同樣的代碼可以在多種操作系統(tǒng)上編譯生成可執(zhí)行程序,然后發(fā)布運(yùn)行。 視頻通話 由于時(shí)間與目前所獲得 的知識(shí)的關(guān)系,系統(tǒng)目前只能為 linux 用戶提供了視頻通話的功能。 數(shù)據(jù)需求分析 文字信息 用戶的個(gè)人信息和聊天內(nèi)容信息由于都是文字信息,其特點(diǎn)是占用的存儲(chǔ)空間小,類型一致,比較方便使用,所以這些信息都用 QT 中的字符串類 QString 表示。 文件信息 進(jìn)行文件傳送的時(shí)候,很明顯數(shù)據(jù)是塊 數(shù)據(jù)而且數(shù)據(jù)量非常的大,這里將用文件分成一個(gè)個(gè)的塊 block 送入流 QDataStream 中進(jìn) 行傳送。 技術(shù)需求分析 網(wǎng)絡(luò)通信技術(shù) TCP/IP 、 socket 技術(shù)在網(wǎng)絡(luò)通信中定然是不可缺少了。 界面設(shè)計(jì)技術(shù),這里的界面設(shè)計(jì)絕大部分將用 QT Designer 設(shè)計(jì)完成。 視頻采集技術(shù),在 linux 下將使用 v4l2 作為主要的視頻采集技術(shù)。 對(duì)于視頻和文件的傳輸則要求視頻能夠達(dá)到流暢的顯示,文件的傳輸速度單位應(yīng)該是 MB/s。中間可能會(huì)在 windows 系統(tǒng)上做少許的實(shí)驗(yàn)和修改。而我要設(shè)計(jì)實(shí)現(xiàn)的局域網(wǎng)即時(shí)通訊工具明顯不需要服務(wù)器端和登錄過程。所以這種結(jié)構(gòu)是一種客戶端直接到客戶端的通信,即 P to P 結(jié)構(gòu)的軟件。程序的主要功能模塊兒設(shè)計(jì)如下: 在線用戶列表顯示以及維護(hù)模塊。 聊天室信息輸入發(fā)送以及顯示模塊。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1