下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
網(wǎng)絡(luò)電子教室的廣播教學(xué)
隨著社會(huì)對(duì)計(jì)算機(jī)專業(yè)技能的需求增加,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,傳統(tǒng)教育面臨著重大挑戰(zhàn)。教育改革和現(xiàn)代化是非常重要的。多媒體網(wǎng)絡(luò)充分利用自身,具有強(qiáng)大的信息交換能力,教師和學(xué)生的信息交流能力和高度交叉性,信息形式多種多樣。電子教室作為現(xiàn)代教育的環(huán)球立交橋,必將把教育的手段引向更深層次。當(dāng)前電子教室的主要功能有廣播教學(xué)、文件傳輸、遠(yuǎn)程控制、電子白板等。其中,廣播教學(xué)作為電子教室的核心功能,是開(kāi)發(fā)網(wǎng)絡(luò)電子教室的關(guān)鍵技術(shù)之一。本文在MicrosoftVisualC++6.0開(kāi)發(fā)平臺(tái)上采用基于TCP/IP協(xié)議的Winsock編程原理,設(shè)計(jì)和實(shí)現(xiàn)了電子教室中廣播教學(xué)功能。1以“廣播”的形式邊講好課堂在操作性較強(qiáng)的課堂教學(xué)中,傳統(tǒng)的教學(xué)模式是教師先在黑板上講授操作步驟和內(nèi)容,然后指導(dǎo)學(xué)生進(jìn)行實(shí)際操作,或是學(xué)生通過(guò)一臺(tái)機(jī)器或者大屏幕觀看老師操作。這樣老師需要重復(fù)講授內(nèi)容和示范,而學(xué)生卻難以獲得深刻的認(rèn)識(shí),影響了教學(xué)效果和興趣。如果老師利用網(wǎng)絡(luò)電子教室系統(tǒng),以“廣播”的形式邊講解邊操作就會(huì)讓每個(gè)學(xué)生都能掌握整個(gè)過(guò)程,并留下深刻印象。廣播教學(xué)可將教師機(jī)的電腦屏幕畫面和語(yǔ)音等多媒體信息實(shí)時(shí)傳送廣播給全體、群組或單個(gè)學(xué)生,使用電子教鞭功能,教師可對(duì)任何應(yīng)用軟件進(jìn)行注釋和講解,達(dá)到輔助教學(xué)及加強(qiáng)學(xué)生學(xué)習(xí)的目的。2生成句柄來(lái)進(jìn)行管理在Windows中,操作系統(tǒng)是通過(guò)句柄來(lái)管理資源的。在教師機(jī)操作應(yīng)用程序時(shí),此時(shí)的桌面或應(yīng)用程序的窗口是系統(tǒng)的一種資源,操作系統(tǒng)在內(nèi)存中指定一個(gè)句柄來(lái)對(duì)這種資源進(jìn)行管理。要將教師機(jī)的桌面或窗口形成位圖進(jìn)行傳送,就必須要得到它的句柄。圖像經(jīng)過(guò)壓縮并通過(guò)網(wǎng)絡(luò)傳送到學(xué)生機(jī)的應(yīng)用程序端口上,學(xué)生機(jī)通過(guò)網(wǎng)卡將接收到的數(shù)據(jù)傳送給處理程序,處理程序根據(jù)接收到的數(shù)據(jù)在其內(nèi)存中生成同教師機(jī)一樣的屏幕圖像,并同時(shí)產(chǎn)生一個(gè)與教師機(jī)屏幕同樣大小的窗口,然后把內(nèi)存中的屏幕圖像拷貝到此窗口上,這樣,就實(shí)現(xiàn)了本地機(jī)與遠(yuǎn)程機(jī)的屏幕資源共享,如果設(shè)置定時(shí)器連續(xù)地截取教師機(jī)屏幕并發(fā)送到學(xué)生機(jī),就可以實(shí)現(xiàn)廣播教學(xué)的目的。3廣播教育功能的設(shè)計(jì)和實(shí)現(xiàn)3.1如何生成文件dc屏幕截取一般有兩種方法:一種是基于上層Windows的GDI(GraphicalDeviceInterface)函數(shù)的截屏;另外一種是利用底層的DirectDraw。本系統(tǒng)使用前一種方法。設(shè)備描述表是Windows應(yīng)用程序、設(shè)備驅(qū)動(dòng)程序和輸出設(shè)備之間的橋梁,它與一個(gè)特定的設(shè)備相關(guān)聯(lián)。例如,對(duì)顯示器來(lái)說(shuō),設(shè)備描述表通常指顯示器上的某個(gè)窗口。設(shè)備描述表描述了所選定的繪圖工具、字體、字體顏色、繪圖工具在設(shè)備上繪制(或者說(shuō)是映射)的方式以及設(shè)備上可使用的輸出區(qū)域等屬性。WindowsGDI函數(shù)實(shí)際上是在設(shè)備描述表里顯示正文和繪圖。Windows環(huán)境是基于圖形操作的,圖形設(shè)備接口(GDI)是一個(gè)在Windows應(yīng)用程序中執(zhí)行與設(shè)備無(wú)關(guān)的函數(shù)庫(kù)。WindowsGDI的一個(gè)重要部分是DC,同時(shí)也是Windows所維護(hù)的一個(gè)結(jié)構(gòu),當(dāng)Windows應(yīng)用程序必須把輸出顯示到設(shè)備上時(shí),它將會(huì)用到DC里面所存儲(chǔ)的信息。DC存儲(chǔ)有關(guān)繪圖表面(drawingsurface)和它的功能信息。在使用任何GDI函數(shù)之前,用戶必須為設(shè)備創(chuàng)建一個(gè)DC,DC一般有以下幾個(gè)類型:1)顯示器DC(DisplayDC)用于把信息顯示到標(biāo)準(zhǔn)的視頻終端,這是Windows程序中用到最多的DC;2)打印機(jī)DC(PrinterDC)用于把信息顯示到打印機(jī)或繪圖機(jī);3)內(nèi)存DC(MemoryDC)也稱為兼容DC(CompatiableDC),它用于執(zhí)行位圖的繪圖操作;4)信息DC(InformationDC)用于收集設(shè)備的信息。這種DC不能用于真正的數(shù)據(jù),然而它們的運(yùn)行速度非常快,開(kāi)銷極小,而且在收集信息時(shí)使用起來(lái)十分方便。進(jìn)行截屏操作的主要步驟如下:1)hRootDC=GetDC(NULL)得到系統(tǒng)最上層窗口的HDC,也就是DeskTop的句柄;2)CreateCompatibleDC(hRootDC)為屏幕設(shè)備描述表創(chuàng)建兼容的內(nèi)存設(shè)備描述表;3)用GetDeviceCaps得到屏幕的分辨率,然后確定截取的區(qū)域;4)用CreateCompatibleBitmap創(chuàng)建一個(gè)與屏幕設(shè)備描述表兼容的位圖,然后用SelectObject把位圖選擇到屏幕設(shè)備描述表中;5)最后就可以B1tBlt把把屏幕設(shè)備描述表拷貝到內(nèi)存設(shè)備描述表中。3.2系統(tǒng)的按動(dòng)裝置Win32系統(tǒng)是消息驅(qū)動(dòng)的平臺(tái),所以屏幕內(nèi)容的變化以及鼠標(biāo)鍵盤的按動(dòng)可以通過(guò)系統(tǒng)的消息得到。如何知道系統(tǒng)發(fā)送過(guò)這些消息,就要用到鉤子(HOOK)。3.2.1多線程的網(wǎng)絡(luò)結(jié)構(gòu)鉤子機(jī)制允許應(yīng)用程序截獲處理Windows消息或特定的事件。與DOS中斷處理機(jī)制有類似之處,鉤子是Windows消息處理機(jī)制的一個(gè)平臺(tái),應(yīng)用程序可以在上面設(shè)置子程以監(jiān)視指定窗口的某種消息,而且所監(jiān)視的窗口可以是其他進(jìn)程所創(chuàng)建的,當(dāng)消息到達(dá)后,在目標(biāo)窗口處理函數(shù)之前處理它。每一個(gè)HOOK都有一個(gè)與之相關(guān)聯(lián)的指針列表,稱為鉤子鏈表,該鏈表中的指針指向這個(gè)鉤子的各個(gè)處理子程。一個(gè)鉤子處理一種類型的消息,當(dāng)鉤子所監(jiān)視的消息出現(xiàn)時(shí),Windows調(diào)用鏈表中的一個(gè)鉤子子程。某些類型的鉤子只能在系統(tǒng)范圍內(nèi)設(shè)置處理子程,其余類型的鉤子還可以在特定的線程中設(shè)置(用SetWindowsHookEx設(shè)置)。對(duì)于某一特定類型的鉤子(它處理某一類型的消息),線程鉤子子程被先調(diào)用,接著是系統(tǒng)鉤子子程。鉤子子程是一個(gè)應(yīng)用程序定義的回調(diào)函數(shù)(callbackfunction),不能定義成某個(gè)類的成員函數(shù),只能定義成普通的C函數(shù)。3.2.2安裝鉤子函數(shù)編寫鉤子程序的步驟分為3步:定義鉤子函數(shù)、安裝鉤子和卸載鉤子。1)定義鉤子函數(shù)鉤子函數(shù)是一種特殊的回調(diào)函數(shù)。鉤子監(jiān)視的特定事件發(fā)生后,系統(tǒng)會(huì)調(diào)用鉤子函數(shù)進(jìn)行處理。不同事件的鉤子函數(shù)的形式是各不相同的。下面以系統(tǒng)中用到的鼠標(biāo)鉤子函數(shù)來(lái)說(shuō)明鉤子函數(shù)的原型。CallNextHookEx的原型如下:nCode,wParam和1Param是鉤子函數(shù)。2)安裝鉤子在程序初始化的時(shí)候,調(diào)用函數(shù)SetWindowsHookEx安裝鉤子。其函數(shù)原型為:參數(shù)idHook表示鉤子類型,它是和鉤子函數(shù)類型一一對(duì)應(yīng)的,比如WH_KEYBOARD表示安裝的是鍵盤鉤子,WH_MOUSE表示是鼠標(biāo)鉤子等。lpfn是鉤子函數(shù)的地址。hMod是鉤子函數(shù)所在的實(shí)例的句柄。對(duì)于線程鉤子,該參數(shù)為NULL;對(duì)于系統(tǒng)鉤子,該參數(shù)為鉤子函數(shù)所在的DLL句柄。dwThreadId指定鉤子所監(jiān)視的線程的線程號(hào)。對(duì)于全局鉤子,該參數(shù)為NULL。SetWindowsHookEx成功調(diào)用時(shí)返回所安裝的鉤子句柄。3)卸載鉤子當(dāng)不再使用鉤子時(shí),必須及時(shí)卸載。簡(jiǎn)單地調(diào)用函數(shù)BOOLUnhookWindowsHookEx(HHOOKhhk)即可。值得注意的是線程鉤子和系統(tǒng)鉤子的鉤子函數(shù)的位置有很大差別。線程鉤子一般在當(dāng)前線程或者當(dāng)前線程派生的線程內(nèi),而系統(tǒng)鉤子必須放在獨(dú)立的動(dòng)態(tài)鏈接庫(kù)中,實(shí)現(xiàn)起來(lái)要復(fù)雜一些。3.3教師機(jī)屏向復(fù)合圖文件傳輸方法3.3.1廣播的傳播數(shù)據(jù)傳輸通常采用單播、廣播和組播的方式。單播用來(lái)傳輸一個(gè)信息包到一個(gè)單獨(dú)的目標(biāo),廣播用來(lái)發(fā)送一個(gè)數(shù)據(jù)包到整個(gè)子網(wǎng),而組播用來(lái)發(fā)送一個(gè)數(shù)據(jù)包到一組分散在各個(gè)子網(wǎng)里的組播組成員。單播實(shí)質(zhì)上是點(diǎn)到點(diǎn)傳輸,如一個(gè)媒體服務(wù)器要發(fā)送相同的媒體包給多個(gè)目標(biāo),必須給每個(gè)接收者發(fā)送一份完全相同的拷貝,單播避免了將數(shù)據(jù)傳送給不必要的接收者,但是每份拷貝經(jīng)過(guò)網(wǎng)絡(luò)傳輸,占用極大的網(wǎng)絡(luò)資源和帶寬,且效率極低。廣播能夠傳送一個(gè)單獨(dú)的數(shù)據(jù)流到整個(gè)網(wǎng),路由器和連接器傳播廣播,占用資源和帶寬,并且無(wú)法知道其他網(wǎng)絡(luò)上節(jié)點(diǎn)是否需要廣播數(shù)據(jù),無(wú)效的消耗網(wǎng)絡(luò)資源。為了阻止廣播風(fēng)暴淹沒(méi)網(wǎng)絡(luò),通常設(shè)置路由器來(lái)阻止廣播的傳輸,將廣播限制在一個(gè)物理或者邏輯分段上。組播就是一臺(tái)主機(jī)發(fā)出的數(shù)據(jù)包可以同時(shí)被其他多個(gè)有資格的主機(jī)接收,這臺(tái)主機(jī)和那些有資格的主機(jī)就形成了一個(gè)組,它們?cè)诮M里的通信是廣播式的。采用這種技術(shù),可以有效減輕網(wǎng)絡(luò)通信的負(fù)擔(dān),避免資源的無(wú)謂浪費(fèi)。3.3.2特殊地址的使用組播IP地址是一個(gè)D類IP地址,范圍在224.0.0.0~239.255.255.255之間。但是,其中還有許多地址是為特殊用途而保留的。比如224.0.0.0根本沒(méi)有用(也不能用),224.0.0.1代表子網(wǎng)內(nèi)的所有系統(tǒng)(主機(jī)),而224.0.0.2代表子網(wǎng)內(nèi)的所有路由器,上述2個(gè)特殊地址只能由IGMP協(xié)議使用。組播地址如表1所示。3.4執(zhí)行流程學(xué)生機(jī)流程圖如圖1所示。4動(dòng)態(tài)特征提取隨著社會(huì)的信息化程度及國(guó)家對(duì)教育的重視程度的提高,電子教室必將受到教育機(jī)構(gòu)的重視,本文對(duì)電子教室中廣播教學(xué)的研究將會(huì)具有重要的借鑒意義。LRESULTCALLBACKMouseProc(intnCode,WPARAMwParam,LPARAM1Param)參數(shù)wParam和1Param包含鼠標(biāo)消息的信息,比如鼠標(biāo)位置、狀態(tài)等。nCode包含有關(guān)消息本身的信息,比如是否從消息隊(duì)列中移出。先在鉤子函數(shù)中實(shí)現(xiàn)自定義的功能,然后調(diào)用函數(shù)CallNex
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度電子商務(wù)平臺(tái)合作訂單合同4篇
- 專業(yè)安裝勞務(wù)協(xié)議規(guī)范文本2024版
- 《a臨時(shí)起搏器》課件
- 二零二五年度礦業(yè)權(quán)轉(zhuǎn)讓中的水資源利用合同3篇
- 2024版園林綠化工程設(shè)計(jì)與施工合同3篇
- 2025年度智慧能源場(chǎng)標(biāo)準(zhǔn)化改造項(xiàng)目合同協(xié)議書4篇
- 2024科研機(jī)構(gòu)與制藥公司之間的藥物研發(fā)合同
- 2024石子加工與新型建材研發(fā)生產(chǎn)合同3篇
- 2025年度廠房出租合同附帶租賃雙方權(quán)利義務(wù)界定4篇
- 2025年度茶樓消防安全管理責(zé)任合同4篇
- 山西省太原市重點(diǎn)中學(xué)2025屆物理高一第一學(xué)期期末統(tǒng)考試題含解析
- 充電樁項(xiàng)目運(yùn)營(yíng)方案
- 2024年農(nóng)民職業(yè)農(nóng)業(yè)素質(zhì)技能考試題庫(kù)(附含答案)
- 高考對(duì)聯(lián)題(對(duì)聯(lián)知識(shí)、高考真題及答案、對(duì)應(yīng)練習(xí)題)
- 新版《鐵道概論》考試復(fù)習(xí)試題庫(kù)(含答案)
- 【律師承辦案件費(fèi)用清單】(計(jì)時(shí)收費(fèi))模板
- 高中物理競(jìng)賽真題分類匯編 4 光學(xué) (學(xué)生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語(yǔ)人教版
- 2024年上海市中考語(yǔ)文試題卷(含答案)
- 幼兒園美術(shù)教育研究策略國(guó)內(nèi)外
- 生豬養(yǎng)殖生產(chǎn)過(guò)程信息化與數(shù)字化管理
評(píng)論
0/150
提交評(píng)論