下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于udp的傳輸技術(shù)在監(jiān)測系統(tǒng)中的應(yīng)用
0fcu和浚元管理子系統(tǒng)監(jiān)測系統(tǒng)在工業(yè)計算機(jī)的監(jiān)控系統(tǒng)中,現(xiàn)場檢測單元(以下簡稱rcu)通常用于收集現(xiàn)場數(shù)據(jù)并執(zhí)行操作命令,而主管服務(wù)器(以下簡稱服務(wù)器)應(yīng)負(fù)責(zé)現(xiàn)場數(shù)據(jù)的分析和處理并發(fā)布控制命令。FCU和Server組成完整的監(jiān)測網(wǎng)絡(luò),形成了一類常用的現(xiàn)場監(jiān)測系統(tǒng)。在監(jiān)測系統(tǒng)中,如何在多個站點(diǎn)之間進(jìn)行數(shù)據(jù)傳輸及如何保證數(shù)據(jù)傳輸?shù)母咝?、可靠性是系統(tǒng)設(shè)計的重點(diǎn)之一。針對這個問題,結(jié)合實(shí)際開發(fā),本文將UDP協(xié)議應(yīng)用到監(jiān)測系統(tǒng)中,并闡述了應(yīng)用UDP協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)倪^程和方法。1設(shè)計理念1.1增設(shè)udp協(xié)議UDP是UserDatagramProtocol的簡稱,中文名是用戶數(shù)據(jù)報協(xié)議,是TCP/IP體系結(jié)構(gòu)中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。UDP是構(gòu)建于底層IP協(xié)議之上的傳輸層協(xié)議。利用UDP協(xié)議可以使用廣播的方式同時向子網(wǎng)上的所有設(shè)備發(fā)送信息,也可以使用組播的方式同時向網(wǎng)絡(luò)上的多個設(shè)備發(fā)送信息。UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)包的形式。一個典型的數(shù)據(jù)包就是一個二進(jìn)制數(shù)據(jù)的傳輸單位。每一個數(shù)據(jù)包的前8個字節(jié)用來包含報頭信息,剩余字節(jié)則用來包含具體的傳輸數(shù)據(jù)。1.2接收端的速度、帶寬UDP是一個無連接協(xié)議,傳輸數(shù)據(jù)之前,源端和終端不建立連接,當(dāng)它想傳送時就簡單地去抓取來自應(yīng)用程序的數(shù)據(jù),并盡可能快地把它發(fā)送到網(wǎng)絡(luò)上。在發(fā)送端,UDP傳送數(shù)據(jù)的速度僅僅是受應(yīng)用程序生成數(shù)據(jù)的速度、計算機(jī)的能力和傳輸帶寬的限制;在接收端,UDP把每個消息段放在隊列中,應(yīng)用程序每次從隊列中讀一個消息段。由于UDP屬于無連接型協(xié)議,具有資源消耗小、處理速度快的優(yōu)點(diǎn),所以通常音頻、視頻和普通數(shù)據(jù)在傳送時使用UDP較多,因?yàn)樗鼈兗词古紶杹G失一兩個數(shù)據(jù)包,也不會對接收結(jié)果產(chǎn)生太大影響。同樣,在監(jiān)測系統(tǒng)中,對數(shù)據(jù)傳輸可靠性要求不高,而且客戶端有多臺設(shè)備與服務(wù)器相互通信,適合使用UDP協(xié)議,同時,也會在UDP的基礎(chǔ)上增加一些為保證可靠數(shù)據(jù)傳遞所必需的功能,使其成為一個基于消息的可靠傳遞協(xié)議。1.3通訊控制幀的幀類型在監(jiān)測系統(tǒng)中,本文根據(jù)開發(fā)實(shí)際,將傳輸數(shù)據(jù)分為以下通訊控制及數(shù)據(jù)傳送兩類,通訊控制幀的幀類型值范圍為0x01-0x1f,數(shù)據(jù)傳送幀的幀類型值范圍為0x20-0xff。每一類包含的幀類型及用途見表1。1.4接收確認(rèn)信息反饋根據(jù)傳輸數(shù)據(jù)分類,設(shè)計出FCU和Server之間的數(shù)據(jù)傳輸格式協(xié)議主要內(nèi)容如下:1)工作狀態(tài)/編號:兩個字節(jié)長,低字節(jié)為本節(jié)點(diǎn)的工作狀態(tài),高字節(jié)為本節(jié)點(diǎn)的編號;低字節(jié)在前,高字節(jié)在后。2)發(fā)送序號:一個字節(jié)長,是發(fā)送方對所發(fā)送的數(shù)據(jù)傳送幀的順序編號,由發(fā)送方填寫。所有數(shù)據(jù)傳送幀的發(fā)送均須按照順序填寫發(fā)送序號并要求從接收方取得接收確認(rèn),通訊控制幀的發(fā)送不需要接收確認(rèn)信息。3)確認(rèn)序號:一個字節(jié)長,是作為接收確認(rèn)信息反饋給發(fā)送方的,由接收方填寫的已正確接收到的最近一幀的發(fā)送序號。接收方在正確接收到發(fā)送方的數(shù)據(jù)后,將幀中的發(fā)送序號作為確認(rèn)序號發(fā)送給原發(fā)送方。發(fā)送方依據(jù)確認(rèn)序號判斷幀發(fā)送是否成功。4)時間戳:五個字節(jié)長,此時間戳表示本包數(shù)據(jù)的發(fā)送時間,格式為:月(1byte)/日(1byte)/時(1byte)/分(1byte)/秒(1byte)。5)幀類型:一個字節(jié)長,表示該幀的類型。幀類型大致可分為兩種類型:通訊控制幀和數(shù)據(jù)傳送幀,如表1所示。通訊控制幀的幀類型值范圍為0x01-0x1f,數(shù)據(jù)傳送幀的幀類型值范圍為0x20-0xff。對于不同類型的數(shù)據(jù),填入不同的幀標(biāo)志和相應(yīng)的內(nèi)容,通過UDP協(xié)議發(fā)送到目標(biāo)地址上。6)數(shù)據(jù)長度:該數(shù)據(jù)傳送幀所包含的數(shù)據(jù)內(nèi)容部分的字節(jié)長度,兩個字節(jié),其中低字節(jié)在前,高字節(jié)在后。7)數(shù)據(jù)內(nèi)容:該數(shù)據(jù)傳送幀所攜帶的數(shù)據(jù)內(nèi)容,對通訊控制幀沒有此部分?jǐn)?shù)據(jù)。8)CRC校驗(yàn)CRC校驗(yàn)碼生成多項(xiàng)式為:G(X)=X16+X12+X5+1,計算初值為0;校驗(yàn)內(nèi)容從“首部長”到“數(shù)據(jù)內(nèi)容”的所有字節(jié);計算結(jié)果為兩個字節(jié)長,在幀格式中按照低字節(jié)在前,高字節(jié)在后的方式存放。2接收方接觸數(shù)據(jù)控制UDP協(xié)議在工作時主要靠主機(jī)IP地址和端口號來識別數(shù)據(jù),發(fā)送方把一幀數(shù)據(jù)附加上對方的IP地址和端口號就能把數(shù)據(jù)發(fā)送到目標(biāo)接收方,接收方通過事件觸發(fā)來讀取數(shù)據(jù)緩沖區(qū)的內(nèi)容。本系統(tǒng)的各客戶端、服務(wù)器要經(jīng)常性地相互通信。C#將C++中的UDP通信功能進(jìn)行了很好地封裝,提供了功能強(qiáng)大的UDP通信控件。用戶在使用通信控件時,可以根據(jù)需要隨時生成。使用C#的通信控件,比其他語言或控件要容易實(shí)現(xiàn),并且穩(wěn)定可靠。2.1多連接的通信在C#中,提供了幾個網(wǎng)絡(luò)通信用的類:Dns類、IPHOStEntry類、IPEndPoint類以及UdpClient類。這些類可以在通信程序中根據(jù)需要使用。其中,IPEndPoint類表示網(wǎng)絡(luò)地址和服務(wù)端口組成的終結(jié)點(diǎn)。IPEndPoint類包含應(yīng)用程序連接到主機(jī)上的服務(wù)所需的主機(jī)和端口信息。通過組合服務(wù)的主機(jī)IP地址和端口號,IPEndPoint類形成到服務(wù)的連接點(diǎn)。UdpClient類是C#實(shí)現(xiàn)UDP通信的類,可以在無連接的情況下實(shí)現(xiàn)數(shù)據(jù)的接收與發(fā)送。在同步阻塞方式下,可以使用它的Send方法和Receive方法。2.2多路接收數(shù)據(jù)以及發(fā)送數(shù)據(jù)監(jiān)測系統(tǒng)中,有的模塊在程序運(yùn)行過程中要同時獨(dú)立接收多路數(shù)據(jù)以及發(fā)送數(shù)據(jù),并且在接收和發(fā)送數(shù)據(jù)的時候還會進(jìn)行其他操作,必須使用多線程處理。使用C#的Thread類可以方便地處理多線程問題。2.3接收方udpUDP協(xié)議使用報頭中的校驗(yàn)值來保證數(shù)據(jù)的安全。校驗(yàn)值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計算得出,在傳遞到接收方之后,還需要再重新計算。如果某個數(shù)據(jù)報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送和接收方的校驗(yàn)計算值將不會相符,由此UDP協(xié)議可以檢測是否出錯。CRC校驗(yàn)的計算方法已在前文給出。3fcu對拾遺存儲通訊該協(xié)議已用于部署在實(shí)驗(yàn)現(xiàn)場的監(jiān)測系統(tǒng)。所有設(shè)備連接并啟動監(jiān)測軟件后,FCU與Server已經(jīng)成功建立連接。其工作過程為:FCU一直向Server發(fā)送通訊請求DC2,啟動Se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代熱風(fēng)系統(tǒng)在醫(yī)療設(shè)備中的應(yīng)用案例
- 現(xiàn)代口腔門診的通風(fēng)與空氣質(zhì)量設(shè)計
- 烘焙坊經(jīng)營中的供應(yīng)鏈優(yōu)化
- 現(xiàn)代科技助力教育普及與均衡發(fā)展
- 環(huán)境友好的商業(yè)產(chǎn)品設(shè)計案例分享
- 國慶節(jié)兒童泥塑活動方案
- 10《雨和雪》 說課稿-2024-2025學(xué)年科學(xué)六年級上冊人教鄂教版
- 2023三年級數(shù)學(xué)上冊 五 解決問題的策略練習(xí)十(2)說課稿 蘇教版
- 2024-2025學(xué)年高中歷史 專題二 近代中國資本主義的曲折發(fā)展 2.2 民國時期民族工業(yè)的曲折發(fā)展說課稿1 人民版必修2
- 《11 剪紙花邊》 說課稿-2024-2025學(xué)年科學(xué)一年級上冊湘科版
- 小學(xué)數(shù)學(xué)分?jǐn)?shù)四則混合運(yùn)算300題帶答案
- 2024年考研(英語一)真題及參考答案
- 林下野雞養(yǎng)殖建設(shè)項(xiàng)目可行性研究報告
- 心肺復(fù)蘇術(shù)課件2024新版
- 苜蓿青貯料質(zhì)量分級DB41-T 1906-2019
- 新鮮牛肉購銷合同模板
- 2024年內(nèi)蒙古呼和浩特市中考文科綜合試題卷(含答案)
- 燒烤店選址標(biāo)準(zhǔn)
- 大型商場招商招租方案(2篇)
- 會陰擦洗課件
- 2024年交管12123學(xué)法減分考試題庫和答案
評論
0/150
提交評論