電子教室中的電子白板系統(tǒng)_第1頁(yè)
電子教室中的電子白板系統(tǒng)_第2頁(yè)
電子教室中的電子白板系統(tǒng)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

電子教室中的電子白板系統(tǒng)

隨著社會(huì)對(duì)計(jì)算機(jī)技術(shù)人員的高度需求以及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,越來(lái)越多的學(xué)校開(kāi)始重視計(jì)算機(jī)課的教育。建設(shè)電子教室進(jìn)行教學(xué)是目前一種較好的解決方案。當(dāng)前電子教室的主要功能有廣播教學(xué)、遠(yuǎn)程控制、電子白板、文件傳輸?shù)?。其?電子白板作為電子教室的核心功能,是開(kāi)發(fā)網(wǎng)絡(luò)電子教室的關(guān)鍵技術(shù)之一。本文通過(guò)DCOM技術(shù)設(shè)計(jì)和實(shí)現(xiàn)電子教室中電子白板功能。1各用戶建設(shè)通信協(xié)議集的協(xié)議電子白板(whiteboard)是一個(gè)虛擬公用區(qū)域,在CSCW(ComputerSupportedCooperativeWork,計(jì)算機(jī)支持的協(xié)同工作)中參加協(xié)作的各個(gè)成員的計(jì)算機(jī)上都有一個(gè)白板的視圖,白板上的內(nèi)容既可以是手繪的簡(jiǎn)單圖形(直線、曲線、矩形等),也可以是文字、圖像、音頻、視頻。白板數(shù)據(jù)是共享數(shù)據(jù),當(dāng)一個(gè)用戶修改了其中的數(shù)據(jù)之后,就要把修改立即通知給其他用戶,讓他們及時(shí)更新自己的白板視圖。其更新結(jié)果應(yīng)該立即反映在其他所有用戶的視圖上,即所謂的“你見(jiàn)即我見(jiàn)”(WYSIWIS,WhatYouSeeIsWhatISee)白板系統(tǒng)的實(shí)質(zhì)是數(shù)據(jù)通信,要求有可靠的傳輸機(jī)制和通信模型,需要為系統(tǒng)定義通信協(xié)議集。按功能分,該協(xié)議集中的協(xié)議可分為2大類:數(shù)據(jù)傳輸協(xié)議和控制信息協(xié)議。數(shù)據(jù)傳輸協(xié)議包括文字傳輸和圖形傳輸,主要用于傳輸用戶輸入的文字和繪圖數(shù)據(jù)。2客戶操作本系統(tǒng)設(shè)計(jì)一個(gè)DCOM服務(wù)器,他有一個(gè)接口(IEB1ankBoard),該接口有多個(gè)方法,這些方法完成白板的具體操作,例如畫(huà)圖、文本輸入等。由于每個(gè)客戶操作都必須使全組所有成員(教師或?qū)W生)看到,所以應(yīng)該調(diào)用服務(wù)器的方法(函數(shù))來(lái)操作白板才能保證所有用戶都能收到并顯示出結(jié)果。同時(shí),對(duì)于服務(wù)器,他本身并不能在客戶端完成具體的操作,所以在服務(wù)端實(shí)際上并不需要實(shí)現(xiàn)該方法(函數(shù))的具體工作,他只是通過(guò)連接點(diǎn)回調(diào)客戶端接收器的接口函數(shù)來(lái)實(shí)現(xiàn)最終的操作。服務(wù)器將使所有客戶做同樣的動(dòng)作。2.1具體執(zhí)行2.1.1添加接口,確定接口DCOM服務(wù)器的開(kāi)發(fā)較為簡(jiǎn)單,因?yàn)榉?wù)器并沒(méi)有做任何實(shí)質(zhì)性的工作,他只是通過(guò)連接點(diǎn)調(diào)用客戶端接收器的接口函數(shù)來(lái)實(shí)現(xiàn)最終的操作。(1)使用VC++6.0新建一個(gè)ATL工程,在向?qū)У牡诙街羞x擇服務(wù)類型為“Service[EXE]”。向?qū)ё詣?dòng)生成的服務(wù)器只有一個(gè)CSeviceMoudle類和tWinMain函數(shù)。在WinMain函數(shù)里通過(guò)解析命令行和寫(xiě)注冊(cè)表自動(dòng)注冊(cè)一個(gè)服務(wù)。(2)添加接口,該接口支持連接點(diǎn)。方法是選擇菜單Insert※NewATLObject※SimpleObject,在彈出的Names選項(xiàng)卡命名接口IEBlankBoard,在Attributes選項(xiàng)卡中選擇SupportConnectionPoints(支持連接點(diǎn))。(3)為接口添加方法和連接點(diǎn)的代理類。添加連接點(diǎn)的方法為:在工作區(qū)中選中接口類CEBlankBoard并單擊右鍵,在彈出的菜單中選擇“ImplementConnectPoint”項(xiàng),在彈出的對(duì)話框中選中IEBlankBoardEvents的接口。需要注意的是,在此過(guò)程之前,必須編譯該程序,否則上面的過(guò)程會(huì)失敗。成功完成上面的步驟后,就會(huì)增加一個(gè)一個(gè)代理類CProxyIEBlankBoard。接下來(lái)便可在IEBlankBoardEvents的接口下增加函數(shù),這些函數(shù)就是連接點(diǎn)函數(shù),這些函數(shù)將在客戶端最終實(shí)現(xiàn)。(4)工作過(guò)程:DCOM服務(wù)器調(diào)用連接點(diǎn)代理類的函數(shù),該代理類函數(shù)(即連接點(diǎn)函數(shù))再調(diào)用客戶端函數(shù)的具體實(shí)現(xiàn)來(lái)完成自己的實(shí)現(xiàn)。2.1.2讓客戶參與ddos協(xié)議本系統(tǒng)的DCOM客戶端通過(guò)MFC實(shí)現(xiàn),值得指出的是DCOM客戶程序在用向?qū)蓵r(shí)一定要選上“支持OLE自動(dòng)化”選項(xiàng)。(1)cebcclent類前面已經(jīng)提到,服務(wù)器通過(guò)連接點(diǎn)來(lái)調(diào)用客戶端的函數(shù)完成對(duì)白板的操作功能,接收器的實(shí)現(xiàn)使用ATL要比使用MFC簡(jiǎn)單,但MFC也做了很多工作使得建立接收器變得相對(duì)簡(jiǎn)單,這些工作通過(guò)繼承CCmdTarget類來(lái)實(shí)現(xiàn)。由于CView類是從CCmdTarget派生的,因此接收器的實(shí)現(xiàn)就放在CEBBClient類中。對(duì)于CEBBClient類,接收器的實(shí)現(xiàn)是通過(guò)一些宏完成的,這些宏作用如下:BEGININTERFACEPART:該宏用來(lái)產(chǎn)生類XE-BlankBoard,同時(shí)該宏還默認(rèn)定義了3個(gè)COM接口共有的、必須實(shí)現(xiàn)的成員函數(shù),即AddRef(),Release()和QueryInterface()。ENDINTERFACEPART:和前面的宏一起完成對(duì)接口類的定義,同時(shí)還定義一個(gè)該接口類的對(duì)象mxEBlankBoard。DECLAREINTERFACEMAP():該宏用來(lái)定義了3個(gè)函數(shù)和1個(gè)變量數(shù)組,3個(gè)函數(shù)的實(shí)現(xiàn)在CPP中提供,也是通過(guò)一對(duì)宏來(lái)實(shí)現(xiàn)。程序中要實(shí)現(xiàn)接收器類的成員函數(shù),是通過(guò)宏METHODPROLOGUEEX實(shí)現(xiàn)的,該宏能夠得到接收器類成員函數(shù)的父類指針pThis。下面給出客戶端使用鉛筆工具進(jìn)行繪圖的函數(shù)實(shí)現(xiàn):(2)服務(wù)器名稱含義創(chuàng)建遠(yuǎn)程服務(wù)器組件和創(chuàng)建本地的進(jìn)程內(nèi)組件類似,不過(guò)這里要指明服務(wù)器名稱,同時(shí)還需要服務(wù)器運(yùn)行該服務(wù)進(jìn)程。如圖1反映客戶端連接服務(wù)器的過(guò)程。(3)drw的應(yīng)用客戶程序所做的工作比較簡(jiǎn)單,這里仍舊以鉛筆繪圖工具為例,在鼠標(biāo)拖動(dòng)的過(guò)程中不斷調(diào)用服務(wù)器的Draw方法來(lái)實(shí)現(xiàn)繪圖工作,方法如下:hr=mpEBlankBoard—>Draw(mpos.x,mpos.y,point.x,point.y,mcol);2.2父類定位功能電子白板功能的具體實(shí)現(xiàn)由父類成員函數(shù)完成,例如用戶要實(shí)現(xiàn)畫(huà)線,在父類成員函數(shù)中實(shí)現(xiàn)如下:該函數(shù)使用了宏METHODPROLOGUEEX來(lái)得到父指針,并調(diào)用父類

溫馨提示

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