基于IP的電子白板系統(tǒng)的設(shè)計(jì)
隨著我國教育科研網(wǎng)(CERNET)的不斷普及和推廣使用,許多高等學(xué)校將遠(yuǎn)程網(wǎng)絡(luò)教育作為輔助教學(xué)的一個(gè)重要手段。網(wǎng)絡(luò)教育的基礎(chǔ)是建立網(wǎng)絡(luò)教室系統(tǒng),其中,傳統(tǒng)的黑板被電子白板所替代,電子白板不僅可以滿足教師的需要,方便隨意地書寫、繪畫,開展豐富多采的教學(xué)活動(dòng),而且,通過電子白板,異地的學(xué)生們可以“登錄”互聯(lián)網(wǎng),和教師進(jìn)行“面對面”的實(shí)時(shí)交流,領(lǐng)略最新的知識(shí),感悟信息爆炸所帶來的沖擊。這種教育所帶來的效果是傳統(tǒng)教育方式所無法比擬的。本文以所指導(dǎo)的大四畢業(yè)設(shè)計(jì)課題為例,設(shè)計(jì)了一種方便、實(shí)用的基于IP的電子白板系統(tǒng)。
2 電子白板應(yīng)用技術(shù)簡介
2.1 GDI圖形設(shè)備接口
它是一個(gè)抽象的接口。相當(dāng)于圖形顯示的函數(shù)庫,實(shí)現(xiàn)設(shè)備的無關(guān)性。也就是說,Windows編程時(shí)不允許直接訪問顯示硬件,而必須通過和特定窗口相關(guān)的“設(shè)備環(huán)境”(DC)跟顯示硬件進(jìn)行通訊。
2.2 VCAD(VisualCAD)小型圖形應(yīng)用程序
該程序與Windows附帶畫圖工具相似,使用標(biāo)準(zhǔn)Windows界面,用于設(shè)置界面,繪制直線、矩形、圓、自由線以及文字,并有調(diào)色板和繪圖工具欄與相應(yīng)操作對應(yīng)。所有圖形邊框的寬度和顏色可以調(diào)整,矩形和圓可以置為實(shí)心或空心,文字類型和顏色可以調(diào)整并添加在任何地方。
建立一個(gè)圖元鏈表存儲(chǔ)圖元信息,以實(shí)現(xiàn)存儲(chǔ)和打開操作,并可以以圖元包為單位進(jìn)行網(wǎng)絡(luò)傳輸。刪除操作可以利用圖元的外接矩形選定,并通過鏈表的刪除操作實(shí)現(xiàn)。
2.3 Socket套接字
Winsock控件對用戶來說是不可見的,它提供了訪問TCP和UDP網(wǎng)絡(luò)服務(wù)的方便途徑。MicrosoftAccess、VisualBasic、VisualC++或VisualFoxPro的開發(fā)人員都可使用它。為編寫客戶或服務(wù)器應(yīng)用程序,不必了解TCP的細(xì)節(jié)。通過設(shè)置控件的屬性并調(diào)用其方法就可輕易連接到一臺(tái)遠(yuǎn)程計(jì)算機(jī)上去,并且還可雙向交換數(shù)據(jù)。
本次設(shè)計(jì)是采用TCP數(shù)據(jù)傳輸協(xié)議,它允許創(chuàng)建和維護(hù)與遠(yuǎn)程計(jì)算機(jī)的連接。要使用TCP協(xié)議,那么,首先必須決定應(yīng)用程序是服務(wù)器還是客戶端。如果要?jiǎng)?chuàng)建一個(gè)服務(wù)器端,那么應(yīng)用程序需要“監(jiān)聽”指定的端口。當(dāng)客戶端提出連接請求時(shí),服務(wù)器端能夠接受請求并建立連接。在連接建立之后,客戶端與服務(wù)器端可以自由地互相通訊。
如果創(chuàng)建客戶應(yīng)用程序,就必須知道服務(wù)器計(jì)算機(jī)名或者IP地址,還要知道進(jìn)行“偵聽”的端口,然后調(diào)用Connect方法。建立連接后,任何一方計(jì)算機(jī)都可以收發(fā)數(shù)據(jù)。
3 基于IP電子白板系統(tǒng)的設(shè)計(jì)
3.1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)如圖1所示。
3.1.1 界面設(shè)計(jì)部分
為了營造出美觀實(shí)用的界面,本系統(tǒng)采用了與Windows操作系統(tǒng)附帶的畫圖板相類似的繪圖環(huán)境,僅僅添加了幾個(gè)連接
選項(xiàng),力求使界面標(biāo)準(zhǔn)化,簡化用戶對系統(tǒng)的熟悉過程,同時(shí)在狀態(tài)欄中加入了當(dāng)前工作狀態(tài)和鼠標(biāo)坐標(biāo)的顯示功能。
3.1.2 繪圖設(shè)計(jì)部分
繪圖設(shè)計(jì)模塊是電子白板系統(tǒng)的一個(gè)十分重要的組成部分。它首先進(jìn)行繪圖參數(shù)的初始化,然后對繪圖工具欄進(jìn)行設(shè)置,若用戶沒有要求打開原有的.pdf文件,則創(chuàng)建新的白板文件,接著由鼠標(biāo)選擇進(jìn)入畫圖模塊。在退出或存儲(chǔ)項(xiàng)被擊活時(shí)提示存儲(chǔ)。
3.1.3 實(shí)時(shí)交互系統(tǒng)
實(shí)時(shí)交互系統(tǒng)包括服務(wù)器端和客戶端兩部分,它們首先分別進(jìn)行初始化,創(chuàng)建套接字以及捆綁地址。然后服務(wù)端通過監(jiān)聽端口等待連接請求,當(dāng)客戶端有連接信號(hào)到來時(shí),它接收客戶端的地址并建立連接。客戶端在收到確認(rèn)信號(hào)以后,表示連接已經(jīng)成功,可以開始傳送數(shù)據(jù)??蛻舳说妮斎霐?shù)據(jù)類型分為兩類:文本和圖形對象。文本用于客戶之間進(jìn)行文字交談,圖形對象則包括直線、矩形、圓、以及自由畫線等。每一種數(shù)據(jù)類型都被定義為相應(yīng)的類,并由另一個(gè)類包裝成數(shù)據(jù)包在網(wǎng)絡(luò)上傳送,接收到數(shù)據(jù)的一方,通過解壓數(shù)據(jù)包,將圖形還原出來。當(dāng)網(wǎng)絡(luò)出錯(cuò)或請求斷開時(shí),釋放網(wǎng)絡(luò)資源。如圖2所示。
3.2 系統(tǒng)設(shè)計(jì)
本次設(shè)計(jì)是用VC++6.0的AppWizard和MFC開發(fā)Windows應(yīng)用程序。首先進(jìn)行界面及畫圖代碼的編寫,并生成圖元鏈表完善存取、刪除等功能。接著是利用Socket的TCP功能實(shí)現(xiàn)網(wǎng)絡(luò)交互。最后是解決如何在接收端將數(shù)據(jù)包轉(zhuǎn)換成圖形顯示出來。
電子白板的基本工作步驟如下:
?。?)繪圖程序通過GDI將鼠標(biāo)繪制圖形與顯示設(shè)備連接起來。
(2)程序?qū)D元的特征取出并放入一個(gè)對象類內(nèi),用鏈表鏈起以實(shí)現(xiàn)存取和刪除指定圖元操作。
(3)通過Socket的TCP功能建立連接。
?。?)連接成功后,程序?qū)D元對象或文字作為數(shù)據(jù)包在網(wǎng)上傳送。
這幾部分相互銜接又互為調(diào)用,構(gòu)成了完整的系統(tǒng)。
3.3 系統(tǒng)特點(diǎn)
本次設(shè)計(jì)完成的電子白板系統(tǒng)是作為遠(yuǎn)程教育的一個(gè)基本組成部分,經(jīng)過測試驗(yàn)收,系統(tǒng)運(yùn)行正常,實(shí)現(xiàn)了基本的交互功能,并具有以下特點(diǎn):
?。?)它能夠在繪圖板內(nèi)任何地方繪制直線、矩形、圓、自由線以及添加文字,并改變邊線和文字的顏色,同時(shí)可實(shí)現(xiàn)矩形和圓的實(shí)心與空心并添加填充色。
(2)提供22種色彩供用戶選擇。
(3)具有標(biāo)準(zhǔn)的文字類型選擇功能。
?。?)將全部所繪圖形存為.pdf文件,并在下次需要時(shí)調(diào)用。
(5)能夠選擇定位框內(nèi)所有圖元進(jìn)行刪除。
?。?)建立TCP連接,并提供不同的連接錯(cuò)誤提示。
?。?)在建立好的連接上傳輸數(shù)據(jù),并根據(jù)接收到的信息改變繪圖板上的內(nèi)容。
(8)圖文并貌地實(shí)現(xiàn)實(shí)時(shí)網(wǎng)絡(luò)交互。
?。?)采用面向?qū)ο蠹夹g(shù)及對象連接、集成網(wǎng)絡(luò)與繪圖及字處理軟件,增強(qiáng)系統(tǒng)功能,方便用戶使用。
?。?0)用開放式結(jié)構(gòu),具有良好的擴(kuò)展性和通用性。
電子白板的系統(tǒng)要求:Windows 95/98/2000/NT;局域網(wǎng)網(wǎng)卡;TCP/IP網(wǎng)絡(luò)協(xié)議。
4 結(jié)束語
這次設(shè)計(jì)僅僅是完成電子白板系統(tǒng)的部分功能而已,系統(tǒng)還有許多功能沒有實(shí)現(xiàn)。比如,服務(wù)器一對多點(diǎn)連接,網(wǎng)絡(luò)的加密,繪圖板的拖拽、翻轉(zhuǎn)、鏡像以及網(wǎng)絡(luò)權(quán)限的管理等等。這些都可以作為系統(tǒng)的外延充實(shí)系統(tǒng),有待以后完善。