一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>數(shù)據(jù)通信>

動(dòng)態(tài)數(shù)據(jù)交換(DDE),動(dòng)態(tài)數(shù)據(jù)交換(DDE)原理是什么?

2010年03月18日 15:23 www.www27dydycom.cn 作者:佚名 用戶評(píng)論(0

動(dòng)態(tài)數(shù)據(jù)交換(DDE),動(dòng)態(tài)數(shù)據(jù)交換(DDE)原理是什么?

動(dòng)態(tài)數(shù)據(jù)交換(DDE)是建立在Windows內(nèi)部消息系統(tǒng)、全局原子和共項(xiàng)全局內(nèi)存基礎(chǔ)上的一種協(xié)議,可用來協(xié)調(diào)Windows應(yīng)用程序之間的數(shù)據(jù)交換和命令調(diào)用。DDE協(xié)議通過對(duì)使用消息參數(shù)wParam和lParam來傳遞全局原子和全局共享內(nèi)存句柄的方式的精確定義,使其能在進(jìn)程間傳遞更多的信息,增強(qiáng)進(jìn)程間共享數(shù)據(jù)和處理數(shù)據(jù)的能力。通常DDE主要用來傳遞那些不需要用戶經(jīng)常干涉的數(shù)據(jù)流。在建立原始鏈路后,有關(guān)的應(yīng)用程序即將其接管過去,而無需用戶進(jìn)一步的介入。DDE所提供的是一種更加集成的工作環(huán)境。

DDE的實(shí)現(xiàn)需要有兩個(gè)應(yīng)用程序參與一個(gè)“對(duì)話”以便交換信息。提供數(shù)據(jù)和執(zhí)行命令的一方被指定為服務(wù)器,獲取數(shù)據(jù)的一方稱為客戶。服務(wù)器和客戶機(jī)是程序在一次具體會(huì)話中的角色,其區(qū)別在于所能啟動(dòng)的“事務(wù)”類型的不同。對(duì)于每一個(gè)DDE對(duì)話,會(huì)話雙方要指定或?qū)iT建立維護(hù)會(huì)話的不可見DDE窗口以負(fù)責(zé)對(duì)DDE消息的處理。一個(gè)DDE對(duì)話是由參與會(huì)話的窗口句柄來標(biāo)識(shí)的。正因如此,任何一個(gè)窗口都不應(yīng)當(dāng)參與與其他窗口只的多于一個(gè)的DDE對(duì)話。如果在一個(gè)客戶和服務(wù)器之間存在多個(gè)對(duì)話過程,必須為每一個(gè)新的對(duì)話過程在一對(duì)一的基礎(chǔ)上提供一個(gè)附加窗口。

圖1 DDE會(huì)話事務(wù)流程

在任何通信中,通信雙方都必須統(tǒng)一所交換數(shù)據(jù)的標(biāo)識(shí)和格式。DDE協(xié)議采用的是由服務(wù)、主題和項(xiàng)目組成的一個(gè)三級(jí)層次命名來對(duì)DDE所傳數(shù)據(jù)單元進(jìn)行標(biāo)識(shí)。一個(gè)特定的DDE會(huì)話唯一地由其服務(wù)名和主題名進(jìn)行定義。在初始化一個(gè)DDE對(duì)話時(shí),由DDE客戶詢問此特定DDE服務(wù)器的應(yīng)用程序名和主題名。通常是將使用服務(wù)器應(yīng)用程序的可執(zhí)行文件名作為服務(wù)名。DDE的主題分類是一個(gè)包含多個(gè)數(shù)據(jù)項(xiàng)的普通數(shù)據(jù)類型。有效的主題及項(xiàng)目的選擇由DDE服務(wù)器任意設(shè)置。由于客戶和服務(wù)器窗口一起來識(shí)別一個(gè)DDE對(duì)話,因此在對(duì)話過程中不能改變應(yīng)用程序或主題。但卻可以在需要的時(shí)候?qū)?xiàng)目名稱進(jìn)行更改。DDE的事務(wù)   DDE對(duì)話是在兩個(gè)進(jìn)程之間進(jìn)行的一種邏輯連接,通過這種連接可以進(jìn)行數(shù)據(jù)交換。在客戶和服務(wù)器之間進(jìn)行的每一次會(huì)話都是由一系列事務(wù)所構(gòu)成的。對(duì)于每個(gè)事務(wù)可以包含一個(gè)數(shù)據(jù)請(qǐng)求/數(shù)據(jù)服務(wù)和一個(gè)對(duì)應(yīng)的響應(yīng)。DDE服務(wù)器和客戶所能啟動(dòng)的事務(wù)是不同的。服務(wù)器只能啟動(dòng)兩種事務(wù):向客戶發(fā)送一個(gè)項(xiàng)目和終止一次對(duì)話;而DDE客戶則可以啟動(dòng)如下八種服務(wù):枚舉DDE服務(wù)及主題、與服務(wù)器建立一次對(duì)話、向服務(wù)器請(qǐng)求一個(gè)項(xiàng)目、與服務(wù)器建立一個(gè)數(shù)據(jù)連接、終止數(shù)據(jù)連接、請(qǐng)求服務(wù)器執(zhí)行一個(gè)或多個(gè)命令、向服務(wù)器發(fā)送一個(gè)數(shù)據(jù)項(xiàng)和終止一次會(huì)話。

圖1給出了一個(gè)典型的DDE會(huì)話事務(wù)流程。由于DDE對(duì)話是由客戶程序啟動(dòng)的,因此在客戶程序啟動(dòng)對(duì)話前要確保DDE服務(wù)器程序已投入運(yùn)行。客戶首先啟動(dòng)會(huì)話,服務(wù)器程序響應(yīng)客戶的請(qǐng)求并向客戶發(fā)送數(shù)據(jù),客戶方則可以主動(dòng)向服務(wù)器發(fā)送數(shù)據(jù),并要求與服務(wù)器建立熱/溫?cái)?shù)據(jù)鏈路。此后客戶可以向服務(wù)器發(fā)送命令并要求服務(wù)器執(zhí)行??蛻艉头?wù)器中的任何一方均有權(quán)利要求對(duì)方結(jié)束此次對(duì)話。在進(jìn)行這些事務(wù)處理時(shí),必須嚴(yán)格按照消息接收順序去進(jìn)行處理。當(dāng)應(yīng)用程序在等待DDE響應(yīng)而無法處理另一個(gè)請(qǐng)求時(shí),會(huì)發(fā)出一條表示忙的WM_DDE_ACK消息。

非常好我支持^.^

(111) 95.7%

不好我反對(duì)

(5) 4.3%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?