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

正文內(nèi)容

20xx年本科嵌入式聊天系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文(編輯修改稿)

2025-01-04 02:28 本頁面
 

【文章內(nèi)容簡介】 Linux既繼承了 Inter上 無限 的開放源代碼資源,又具有嵌入式操作系統(tǒng)的特性。 ⑥ 嵌入式 Linux 的 特點是版權(quán)費免費 。購買費用媒介成本技術(shù)支持全世界的自由軟件開發(fā)者提供支持網(wǎng)絡(luò)特性免費,而且性能優(yōu)異,軟件移植容易,代碼開放,有許多應(yīng)用軟件支持,應(yīng)用產(chǎn)品開發(fā)周期短。 QT 的發(fā)展及編程機制 Qt是一個 跨平臺 C++圖形用戶界面 應(yīng)用程序 開發(fā)框架 , 由挪威 TrollRech公司開發(fā),目前包括 Qt/X11, 基于 Framebuffer 的 Qt/Emebedded,快速開發(fā)工具 Qt Designer 以及國際化工具 Qt Linguist 等。 2020 年奇趣科技被諾基亞公司收購, Qt也因此成為諾基亞旗下的編程語言工具。 2020 年, Qt 被 Dialog 收購。 2020 年 4 月,跨平臺繼承開發(fā)環(huán)境 Qt 正式發(fā)布,實現(xiàn)了對 iOSde 的完全支持,新增 WinRT、 Beautifier等插件,至此實現(xiàn)了全面支持 iOS、 Android、 WP。 人們所熟知的 Linux 下面的 KDE 環(huán)境就是基于 Qt開發(fā)而成的, Qt 支持 Unix 和 Linux 系統(tǒng)以及 Windows 系統(tǒng)。 Qt 的主要特點有:面向?qū)ο?,容易擴(kuò)展,并且允許真正的組件編程; Qt 對各個模塊進(jìn)行了良好的封裝,使各模塊可重用性較好;優(yōu)良的跨平臺特性,使用 Qt 類編寫的程序可以實現(xiàn) “ 一次編碼,到處編譯 ” , 極大的降低了跨平臺的開發(fā)難度;構(gòu)件支持,對于對象間通信, Qt 沒有采用函數(shù)回 調(diào)的方法,而是采用了一種全新并且可選的被稱武漢理工大學(xué) 武漢理工大學(xué) 為信號與槽的對象間通信機制,通過一個對象信號的發(fā)射,另一個槽函數(shù)的響應(yīng),使各個對象之間的通信安全而且高效。 Qt 的這 個 特點使它非常適合于真正的構(gòu)建編程,同時各個組件之間的協(xié)同工作變得十分簡單,并且 Qt是直接基于 Xlib 的,不依賴 Motif工具包,所以它的執(zhí)行效率比一般的基于平臺的代碼執(zhí)行效率高。 信號 /槽機制是 Qt的一個中心特征并且也 是 Qt與其他工具包最不相同的部分。在圖形用戶界面編程中,我們經(jīng)常希望一個窗口部件的一個變化被通知給另一個窗口部件。更一般地,我們希望任何一類的對象可以和他其他對象進(jìn)行通訊。較老的工具包使用一種被稱作回調(diào)的通訊方式實現(xiàn)同一 目的 ?;卣{(diào)是指一個函數(shù)的指針,所以如果你希望一個處理函數(shù)通知你一些事情,你可以把另一個函數(shù)的指針傳遞給處理函數(shù)。處理函數(shù)在適當(dāng)?shù)臅r候使用回調(diào)?;卣{(diào)有兩個主要缺點 : 首先他們不是類型安全的 , 我們從來都不能確定處理函數(shù)使用了正確的參數(shù)來調(diào)用回調(diào) , 因此容易造成進(jìn)程崩潰 ; 另一個問題是,回調(diào)這種方式緊緊 的綁定了圖形用戶接口的功能元素,因而很難把開發(fā)進(jìn)行獨立的分類。 Qt 的信號與槽機制是不同的。 Qt的信號與槽均以函數(shù)形式出現(xiàn), Qt 的窗口部件有很多預(yù)定義的信號,但我們也可以通過繼承來加入我們自己的信號。槽就是一個可以被調(diào)用處理特定信號的函數(shù)。 Qt 的窗口部件有很多預(yù)定義的槽,但是通常的習(xí)慣是你可以加入自己的槽,這樣你就可以處理你所感興趣的信號。我們可以用 connect()函數(shù)對需要的信號和槽進(jìn)行連接。當(dāng)對象的內(nèi)部狀態(tài)發(fā)生改變,信號就被發(fā)射。當(dāng)一個信號被發(fā)射,它所連接的槽會被立即執(zhí)行就像一個普通函數(shù)調(diào)用一樣。信號 /槽機制完全不依賴于任何一種圖形用戶界面的事件回路。當(dāng)所有的槽都 返回后發(fā)射的信號也將返回。信號與插槽機制不要求類之間互相知道細(xì)節(jié),這樣就可以相對容易的開發(fā)出代碼可高 度重用的類。信號和槽的機制是類型安全的:一個信號的簽名必須與他的接收槽的簽名相匹配。總體來看信號和槽構(gòu)成了一個強有力的組件編程機制。 布局管理類型用于描述一個應(yīng)用程序的用戶界面中的 Widget 是如何放置。當(dāng)視窗縮放時,布局管理器會自動調(diào)整 widget 的大小、位置或是字號,確保他們相對的排列和用戶界面整體仍然保有可用性。 Qt 內(nèi)置的布局管理類型有: QHBoxLayout、QVBoxLayout、 QGridLayout和 QFormLayout。這些類型繼承自 QLayout,但 QLayout 非繼承自 QWidget 而是直接源于 QObject。他們負(fù)責(zé) widget 的幾何管理。想要創(chuàng)建更復(fù)雜的版面配置,可以繼承 QLayout 來自定義版面配置管理員。 其中 QHBoxLayout 是 配置widget 成橫向一列 , QVBoxLayout 是 配置 widget 成垂直一行 , QGridLayout 是 配置widget 在平面網(wǎng)格 , QFormLayout 是用于 配置 widget 用于 2欄標(biāo)簽 field。 Qt 的圖形用戶界面的基礎(chǔ)是 QWidget。 Qt 中 所有類型的 GUI 組件如按鈕、標(biāo)簽、工具欄等都派生自 QWidget,而 QWidget 本身則為 QObject 的子類。 Widget 負(fù)責(zé)接收鼠標(biāo),鍵盤和來自窗口系統(tǒng)的其他事件,并描繪了自身顯示在屏幕上。每一個 GUI組件都是一個 widget, widget 還可以作為容器,在其內(nèi)包含其他 Widget。 QWidget 不是一個抽象類型。并且可以被放置在一個已存在的用戶界面中;若是 Widget沒有指定父 Widget,當(dāng)它顯示時就是一個獨立的視窗、或是一個頂層 widget。 QWidget 顯示能力包含了透明化及 DoubleBuffering。 Qt提供一種托管機制,當(dāng) Widget 于創(chuàng)建時指定父對象,就可把自己的生命周期交給上層對象管理,當(dāng)上層對象被釋放時,自己也被釋放。確保對象不再使用時都會被刪除。 Qt 的字體引擎能夠在同一時間正確的顯示各種不同的書寫系統(tǒng)。并且 Qt 內(nèi)部使用Unicode 編碼來存儲文字。 Qt 的多國語言支持技術(shù),可以讓應(yīng)用程序中的文字全部使用英文撰寫,能夠在完全不需修改程序的狀況下,改變整個應(yīng)用程序中的文字為另一個語系的文字,并能夠協(xié)助處理不同語言的單、復(fù)數(shù)問題。獨立的翻譯文件使得新增支持語武漢理工大學(xué) 武漢理工大學(xué) 言相當(dāng)容易,同時翻譯文件( .ts)為 XML 格式可以直接編輯或使用 Qt Liguist 進(jìn)行翻譯,可讓無程序開發(fā)能力的翻譯者亦能獨自完成翻譯。 Qt 附帶的工具程序就能夠自動抽取需要翻譯的文字產(chǎn)生翻譯文件。 Qt 的線程支持是獨立于平臺的線程類型,采用信號與槽機制,實現(xiàn)類型安全的線程間通訊。這使得它易于開發(fā)具可移植性的多線程 Qt 應(yīng)用程序。并能充分利用多核架構(gòu),獲得最佳運行性能,還能根據(jù)可用的處理器內(nèi)核數(shù)自動調(diào)整使用的線程數(shù)。多線程程序設(shè)計也是一個執(zhí)行耗時操作而不會凍結(jié)用戶界面的有效典范。 TCP/IP 協(xié)議簡介 TCP/IP 協(xié)議是 Transmission Control Protocol/Inter Protocol 的簡寫,中譯名為傳輸控制協(xié)議 /因特網(wǎng)互聯(lián)協(xié)議,又名網(wǎng)絡(luò)通訊協(xié)議,是 Inter 最基本的協(xié)議、Inter 國際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),由網(wǎng)絡(luò)層的 IP 協(xié)議和傳輸層的 TCP 協(xié)議組成。 TCP/IP 定義了電子設(shè)備如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn)。協(xié)議采用了 4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。通俗而言:TCP 負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯栴},一有問題就發(fā)出信號,要求重新傳輸 ,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡?。?IP 是給因特網(wǎng)的每一臺電腦規(guī)定一個地址。 TCP/IP 字面上代表了兩個 協(xié)議 : TCP(傳輸控制協(xié)議 )和 IP(網(wǎng)際協(xié)議 )。 但 TCP/IP 協(xié)議不是 TCP 和 IP 這兩個協(xié)議的合稱,而是指因特網(wǎng)整個 TCP/IP 協(xié)議族 。 從協(xié)議分層模型方面來講, TCP/IP由四個層次組成:網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。 TCP/IP 協(xié)議并不完全符合OSI 的七層參考模型, OSI(Open System Interconnect)是傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的 7層抽象的參考模型,其中每一層執(zhí)行某一特定任務(wù)。該模型的目的是使各種硬件在相同的層次上相互通信。這 7 層是:物理層、數(shù)據(jù)鏈路層 (網(wǎng)絡(luò)接口層 )、網(wǎng)絡(luò)層 (網(wǎng)絡(luò)層 )、傳輸層、會話層、表示層和應(yīng)用層 (應(yīng)用層 )。而 TCP/IP通訊協(xié)議采用了 4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。由于 ARPANET 的設(shè)計者注重的是網(wǎng)絡(luò)互聯(lián),允許通信子網(wǎng) (網(wǎng)絡(luò)接口層 )采用已有的或是將來有的各種協(xié)議,所以這個層次中沒有提供專門的協(xié)議。實際上, TCP/IP 協(xié)議可以通過 網(wǎng)絡(luò) 接口層連接到任何網(wǎng)絡(luò)上,例如 交換網(wǎng)或 IEEE802 局域網(wǎng) 。 TCP/IP協(xié)議族 對應(yīng) OSI 如表 21 所示。 TCP/IP 結(jié)構(gòu)對應(yīng) OSI 如表 22 所示。 表 21 TCP/IP協(xié)議做對應(yīng) OSI OSI中的層 功能 TCP/IP協(xié)議族 應(yīng)用層 文件傳輸 、 電子郵件 、 文件服務(wù) 、虛擬終端 TFTP、 HTTP、 SNMP、 DNS、 Tel等 表示層 翻譯、加密、壓縮 沒有協(xié)議 會話層 對話控制、建立同步點(續(xù)傳) 沒有協(xié)議 傳輸層 端口尋址、分段重組、流量、差錯控制 TCP、 UDP 網(wǎng)絡(luò)層 邏輯尋址、路由選擇 IP、 ICMP、 OSPF、 EIGRP、 IGMP、 RIP、 ARP、 RARP 數(shù)據(jù)鏈路層 成 幀、物理尋址、流量、差錯、接入控制 SLIP、 CSLIP、 PPP、 MTU 物理層 設(shè)置網(wǎng)絡(luò)拓補結(jié)構(gòu)、比特傳輸、位同步 ISO21 IEEE80 表 22 TCP/IP結(jié)構(gòu)對應(yīng) OSI 武漢理工大學(xué) 武漢理工大學(xué) TCP/IP OSI 應(yīng)用層 應(yīng)用層 表示層 會話層 主機到住幾層( TCP)(又稱傳輸層) 傳輸層 網(wǎng)絡(luò)層( IP) 網(wǎng)絡(luò)層 網(wǎng)絡(luò)接口層(又稱鏈路層) 數(shù)據(jù)鏈路層 物理層 網(wǎng)絡(luò)接口層 對應(yīng) OSI 的物理層和數(shù)據(jù)鏈路層。其中 物理層是定義物理介質(zhì)的各種特性:機 械 特性;電子特性;功能特性;規(guī)程特性。數(shù)據(jù)鏈路層是負(fù)責(zé)接收 IP 數(shù)據(jù)包并通過網(wǎng)絡(luò)發(fā)送,或者從網(wǎng)絡(luò)上接收物理幀,抽出 IP數(shù)據(jù)包,交給 IP層。 網(wǎng)絡(luò)層 負(fù)責(zé)相鄰計算機之間的通信。其功能包括三方面 :( 1) 處理來自傳輸層的分組發(fā)送請求,收到請求后,將分組裝入 IP 數(shù)據(jù)報,填充報頭,選擇去往信宿機的路徑,然后將數(shù)據(jù)報發(fā)往適當(dāng)?shù)木W(wǎng)絡(luò)接口。 ( 2) 處理輸入數(shù)據(jù)報:首先檢查其合法性,然后進(jìn)行尋徑 假如該數(shù)據(jù)報已到達(dá)信宿機,則去掉報頭,將剩下部分交給適當(dāng)?shù)膫鬏攨f(xié)議;假如該數(shù)據(jù)報尚未到達(dá)信宿,則轉(zhuǎn)發(fā)該數(shù)據(jù)報。 ( 3) 處理路徑、流控、擁塞等問題。 傳輸層 提供應(yīng)用程序間的通信。其功能包括:一、格式化信息流;二、提供可靠傳輸。為實現(xiàn)后者,傳輸層協(xié)議規(guī)定接收端必須發(fā)回確認(rèn),并且假如分組丟失,必須重新發(fā)送,即耳熟能詳?shù)?“ 三次握手 ” 過程,從而提供可靠的數(shù)據(jù)傳輸。 回應(yīng)層 向用戶提供一組常用的應(yīng)用程序,比如電子郵件、文件傳輸訪問、遠(yuǎn)程登錄等。遠(yuǎn)程登錄 TELNET 使用 TELNET 協(xié)議提供在網(wǎng)絡(luò)其它主機上注冊的接口。 TELNET 會話提供了基于字符的虛擬終端。文件傳輸訪問 FTP 使用 FTP 協(xié)議來提供網(wǎng)絡(luò)內(nèi)機器間的文件拷貝功能。 Socket 套接字簡介 應(yīng)用層通過傳輸層進(jìn)行數(shù)據(jù)通信時, TCP 和 UDP會遇到同時為多個應(yīng)用程序進(jìn)程提供并發(fā)服務(wù)的問題。多個 TCP連接或多個應(yīng)用程序進(jìn)程可能需要通過同一個 TCP協(xié)議端口傳輸數(shù)據(jù)。為了區(qū)別不同的應(yīng)用程序進(jìn)程和連接,許多計算機操作系統(tǒng)為應(yīng)用程序與TCP/ IP協(xié)議交互提供了稱為套接字 (Socket)的接口,區(qū)分不同應(yīng)用程序進(jìn)程間的網(wǎng)絡(luò)通信和連接。 網(wǎng)絡(luò)化的應(yīng)用程序在開始任何 通訊 之前都必需要創(chuàng)建套接字。就 像電話的插口一樣,沒有它就完全沒辦法通信。生成套接字,主要有 3個參數(shù):通信的目的 IP地址、使用的傳輸層協(xié)議 (TCP 或 UDP)和使用的端口號。 Socket 原意是 “ 插座 ” 。通過將這 3個參數(shù)結(jié)合起來,與一個 “ 插座 ”Socket 綁定,應(yīng)用層就可以和傳輸層通過套接字接口,區(qū)分來自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。 Socket 可以看成在兩個程序進(jìn)行 通訊 連接中的一個端點,一個 程序?qū)⒁欢涡畔懭?Socket 中,該 Socket 將這段信息發(fā)送給另外一個 Socket 中,使這段信息能傳送到其他程序中。 其過程如圖 21 所示 : 武漢理工大學(xué) 武漢理工大學(xué) 圖 21 socket結(jié)構(gòu) 我們來分析一下上圖, Host A 上的程序 A將一段信息寫入 Socket 中, Socket 的內(nèi)容被 Host A 的網(wǎng)絡(luò)管理軟件訪問,并將這段信息通過 Host A 的網(wǎng)絡(luò)接口卡發(fā)送到 Host B, Host B 的網(wǎng)絡(luò)接口卡接收到這段信息后,傳送給 Host B 的網(wǎng)絡(luò)管理軟件,網(wǎng)絡(luò)管理軟件將這段信息保存在 Host B的 Socket 中,然后程序 B才能在 Socket 中閱讀這段信息。 假設(shè)在圖中的網(wǎng)絡(luò)中添加第三個主機 Host C,那么 Host A 怎么知道信息被正確傳送到 Host B 而不是被傳送到 Host C 中了呢?基于 TCP/IP 網(wǎng)絡(luò)中的每一個主機均被賦予了一個唯一的 IP地址, IP地址是一個 32 位的無符號整數(shù),由
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1