孟桂英 陳元賢
【摘 要】 本文論述了采用網絡技術和遠程控制技術設計和實現一個小型網絡教室的過程。本系統局域網采用星型網絡拓撲結構,網絡教室采用客戶/服務器模式,實現網絡教室的教師機和學生機的實時通信。
【關鍵詞】客戶/服務器 線程 網絡教室 Windows Socket
一、緒論
隨著多媒體數據傳輸技術的日益發展和完善,多媒體教學已可將各種多媒體信息引入教學,以完善和改進教學模式、內容、手段、方法,并促進整個教育思想、理論的根本變革。在學校的計算機機房或實驗室中,要求教師機可以通過屏幕廣播將課件內容廣播到學生機,使學生同步接收教師的講課內容,教師機可以給學生機發送簡短的文字消息,學生機可給教師機發送舉手消息。對于傳統的輔助教學模式來說,這是一種教學上的突破。
二、系統設計
1.需求分析
軟件需求分析所要做的工作是深入描述軟件的功能和性能,確定軟件設計的限制和軟件同其它系統元素接口細節,定義軟件的其它有效性需求。
根據分析,本系統主要包括局域網組建和網絡教室的開發。因此,要設計局域網絡的拓撲結構,進行組網。局域網組建成功后,在此網絡上進行網絡教室的開發。網絡教室主要主要實現以下功能:
(1)屏幕廣播:用于將教師機的電腦屏幕畫面實時傳播給全部學生機。實現教師機和學生機電腦屏幕的同步,以便學生能直觀地看到教師的操作方式。
(2)文件分發:教師機能夠選擇一個文件分發給所有的學生機。學生機能夠自動接受教師機傳輸過來的文件,并且存儲在本地磁盤。
(3)遠程命令:教師可向學生終端發送黑屏鎖定、遠程復位、遠程關機、瀏覽進程、殺死進程的命令。
(4)網上消息:教師機可以給本課堂全體學生發送簡短文字消息,同全體學生進行實時交互。
(5)遠程配置:教師機可以查看學生機的相關配置信息。
(6)電子舉手:學生隨時通過電子舉手向教師示意,同教師進行實時交互。
2.網絡拓撲結構設計
目前,大多數LAN使用的拓撲結構有3種:星型拓撲結構、環型拓撲結構、總線型拓撲結構。根據學校的實驗室環境和系統的需求,本系統局域網拓撲結構采用星型拓撲結構,該結構有利于資源充分利用和實驗室管理員的管理。網絡拓撲結構的設計如圖1所表示。交換機采用STAR公司的S1824F型號的交換機,此型號的交換機用24個接口,能夠實現24臺計算機終端的互連通信。

3.軟件系統結構和功能模塊設計
根據局域網拓撲結構的設計和網絡教室通信的需要,軟件系統采用C/S結構。客戶/服務器系統主要由客戶機、服務器和網絡系統三個部分組成。本網絡教室分為教師機和學生機,且在本系統中,教師機和學生機互為客戶端和服務器端。
本系統中教師機可以進行屏幕廣播、向學生機發送簡單的文字消息、黑屏鎖定學生機等;學生機則響應教師機的各種命令并可以發送電子舉手消息。總體功能模塊圖如圖2、圖3所示。
4.系統通信
在采用客戶/服務器的系統中,通常是客戶機和服務器共同完成對應用程序的處理。在客戶機和服務器之間就需要進行交互,即必須利用消息機制在這兩者之間進行多次通信。
系統具體通信過程采用Windows Sockets通信實現,應用程序用Windows Sockets的API實現相互之間的通信。Windows Sockets又利用下層的網絡通信協議(即TCP/IP協議)功能,與操作系統調用實現實際的通信工作。

三、系統主要功能模塊的實現
小型網絡教室設計為教師機和學生機,各個功能通過教師機和學生機之間的通信共同完成。具體主要運用了Windows Sockets技術、Windows多任務中的進程和線程技術、以及MFC來實現教師機和學生機端的各個功能。
1.監聽請求和遠程命令
系統中教師機和學生機互為客戶端和服務端,無論在教師機還是在學生機,都需要向對方請求服務和提供服務,而另一方則需要監聽對方的請求信息。
(1)學生機端監聽TCP連接請求的設計與實現
學生機端需要監聽教師機端發出請求信息,這就需要在學生機端創建一個監聽教師機TCP連接請求的線程。在線程回調函數中,創建一個使用端口5148的CSocket對象,并使用監聽函數監聽TCP連接請求,用Accept()接受教師機的TCP連接請求,Receive()遠程控制命令代碼,然后調用ReceiveFileMsg()函數根據接收到的遠程控制命令代碼,進行相應的處理。最后用Close()關閉套接字。
(2)教師機監聽TCP連接請求的設計與實現
同樣,教師機也需要監聽學生機的請求,具體的實現過程與學生機類似。
(3)學生機接收遠程命令實現過程
學生機作為被監控方,能夠接收來自教師機的命令,并根據接收到的命令進行相應的處理。在系統中主要設計了一個函數來識別接收到的命令,入口參數分別表示接收教師機發送過來的遠程控制的代碼和教師機的SOCKADDR_IN結構。出口參數表示此函數執行是否成功。
2.屏幕廣播的實現
本模塊實現教師機的屏幕廣播到同一局域網段的所有學生機,使學生機屏幕與教師機屏幕同步的功能。為了能夠實現此功能,教師機和學生機采用面向無連接的數據報文方式(UDP)通信。
在教師機每隔1秒就截取屏幕,并保存為位圖文件,然后將此位圖文件廣播給所有的學生機。在學生機接收教師機發送過來的位圖文件內容,并將此文件內容寫入學生機本地磁盤的位圖文件,并實時將此位圖文件加載到對話框上。
由于位圖文件比較大,在圖片的抓取和傳輸過程中使用了圖片的壓縮算法。
3.文件分發和接收
本模塊實現將教師機的文件分發給同一局域網段的所有學生機,學生機將接收到的文件保存在本地磁盤的功能。為了能夠實現此功能,教師機與學生機需要采用面向無連接的數據報文方式(UDP)通信。
文件分發和接收的工作流程如下:首先,在教師機選擇需要分發的文件,獲取文件名和文件長度廣播給局域網內所有學生機;然后,再獲取文件內容分發給所有學生機。學生機根據收到的文件名在本地創建同名文件,然后將接收到的文件內容寫入本地同名文件中,完成文件的接收。
四、結束語
小型網絡教室的基本功能已經初步完成,并應用于學校的實驗室。局域網系統拓撲結構設計合理,網絡教室功能適用性強,具有可擴展性。它能夠進一步提高現代教學水平,提高學生的上課效率,加強教師對課堂情況的掌握,節約教學資源,促進教育事業的發展。
參考文獻:
[1]葉俊民.軟件工程.北京:清華大學出版社,2006.
[2]張文.TCP/IP基礎.北京:電子工業出版社,2007.