国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于C/S架構(gòu)的教學管理監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

2018-01-04 10:59李玲玲
電腦知識與技術(shù) 2018年28期
關(guān)鍵詞:S架構(gòu)監(jiān)控系統(tǒng)教學管理

李玲玲

摘要:針對傳統(tǒng)教學的諸多弊端,開放式教學的普遍應用,伴隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,帶動了教學和管理方式的改革。網(wǎng)絡(luò)與教學的結(jié)合,為教學的發(fā)展提供了更加多元化的發(fā)展空間。該文提出一個基于C/S架構(gòu)的教學管理監(jiān)控系統(tǒng),該系統(tǒng)結(jié)構(gòu)清晰,實用性強,具有可擴展性。此系統(tǒng)涉及數(shù)據(jù)通信、網(wǎng)絡(luò)教學、信息管理、屏幕監(jiān)控等功能,在該文中重點講解教學功能模塊的實現(xiàn)方法。

關(guān)鍵詞:C/S架構(gòu);教學管理;監(jiān)控系統(tǒng)

中圖分類號:TP315 文獻標識碼:A 文章編號:1009-3044(2018)28-0058-02

開放式教學的普遍應用,伴隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,帶動了教學和管理方式的改革。網(wǎng)絡(luò)與教學的結(jié)合,為教學的發(fā)展提供了更加多元化的發(fā)展空間。本文提出一個基于C/S架構(gòu)的教學管理監(jiān)控系統(tǒng),此系統(tǒng)主要實現(xiàn)數(shù)據(jù)通信、網(wǎng)絡(luò)教學、遠程協(xié)助、信息管理與分配、屏幕監(jiān)控、交流等功能。

1 總體設(shè)計

教學管理與監(jiān)控系統(tǒng)采用C/S通信結(jié)構(gòu),服務器端主要實現(xiàn)數(shù)據(jù)通信和網(wǎng)絡(luò)教學功能,包括信息管理與分配、數(shù)據(jù)監(jiān)控、教學等功能。系統(tǒng)結(jié)構(gòu)圖如圖1所示??蛻舳说墓δ馨ǖ卿?、注冊、與服務器交流等功能。

1.1 教師端功能

教師端主要包括以下幾個功能模塊:

信息管理模塊:主要包括學生信息和成績信息管理,本系統(tǒng)中數(shù)據(jù)庫使用SQL Server 2008,需要建立用戶信息數(shù)據(jù)庫表和成績信息數(shù)據(jù)庫表,在程序中要實現(xiàn)數(shù)據(jù)庫表的管理,比如添加、刪除、修改等操作。

服務器登錄模塊:服務器登錄,可以選擇不同的權(quán)限,有教師、管理員、超級管理員三種權(quán)限。

權(quán)限管理模塊:在服務器登錄時,可以選擇不同的權(quán)限進行登錄,不同的權(quán)限也對應相關(guān)的功能:教師負責教學、學生管理、成績管理;管理員可以管理教師信息;超級管理員可以配置相關(guān)系統(tǒng)的功能。

文件傳輸模塊:要向所有客戶端廣發(fā)文件信息,將服務器端的文件傳遞到客戶端的指定位置。

投影教學模塊:投影教學即教師向所有學生發(fā)送消息,要求所有學生的電腦黑屏并且提求所有學生注意投影。以方便老師教學。

遠程協(xié)助模塊:即教師可以遠端操作學生機電腦,以完成對學生的幫助和指導。

1.2 學生端功能

學生端主要包括以下幾個功能模塊:

注冊:學生機可以在本機輸入自己的相關(guān)信息,然后向教師發(fā)送注冊信息,消息格式“長度|CUC|信息串”,信息將被記錄于教師機的數(shù)據(jù)庫。教師收到注冊信息后,解析出消息內(nèi)容:首先在數(shù)據(jù)庫中查找是否存在該學生學號,如果不存在,則將學生信息添加至數(shù)據(jù)庫用戶信息表,并向?qū)W生發(fā)送"3|CUC|YES"。否則,向?qū)W生機發(fā)送注冊失敗命令"2|CUC|NO"。

登錄:學生機向教師機發(fā)送登錄命令,教師機收到登錄命令后,解析出消息中的數(shù)據(jù)(學號和密碼);然后根據(jù)學號查找數(shù)據(jù)庫,如果數(shù)據(jù)庫中沒有此學號,則向?qū)W生機發(fā)送"3|CUL|SNONO",表示用戶名不存在;如果數(shù)據(jù)庫中有此學生,但密碼不正確,則向?qū)W生機發(fā)送"3|CUL|PASSNO";如果學號和密碼都正確,則向?qū)W生機發(fā)送"3|CUL|YES",表示登錄成功。

下線:學生機如果關(guān)閉系統(tǒng),將會向服務器發(fā)送"DISCONNECT"消息,教師機接收到該消息后,提示某學生下線,并結(jié)束該學生的通信線程。

2 關(guān)鍵技術(shù)實現(xiàn)

2.1 創(chuàng)建局域網(wǎng)通信

整個C/S結(jié)構(gòu)采用SOCKET通信,系統(tǒng)使用VS2008編寫,先創(chuàng)建單文檔項目,并將視圖的基類改為CFormView,這樣可以隨意在VIEW框中增加控件。服務器需要用到多個線程,一個線程負責客戶端的連接(登錄和注冊)的操作(設(shè)為線程函數(shù)A);另一個線程負責通信過程中的數(shù)據(jù)接收與處理(設(shè)為線程函數(shù)B);當學生連接成功后,創(chuàng)建該學生的數(shù)據(jù)通信線程。線程函數(shù)B會被引用多次,即會被創(chuàng)建多個線程,當前有多少學生在線就會創(chuàng)建多少個線程。

接下來介紹服務器的創(chuàng)建流程:

使用WSAStartup函數(shù)創(chuàng)建SOCKET版本,或申明一個連接的開始。

再使用socket或者WSASocket建立流式套接字,返回套接字號。

bind函數(shù)將套接字與本地地址相連,進行綁定。綁定時要配置相關(guān)結(jié)構(gòu)體(包括IP地址、端口號)SOCKADDR_IN。

使用listen設(shè)置服務器的監(jiān)控個數(shù),如:listen(sListeningSocket, LISTEN_LEN);。

利用while(1)的循環(huán),使用accept監(jiān)控客戶端的連接,如果連接成功,則返回客戶端的套接字,用于與客戶端通信。

當監(jiān)控到學生的連接后,需要判斷學生的登錄信息和注冊信息。

每監(jiān)控到一個學生上線,使用CreateThread創(chuàng)建一個線程。

關(guān)閉連接: closesocket (套接字);WSACleanup();。

服務器創(chuàng)建流程圖如圖2所示:

再介紹客戶端的連接流程:

使用WSAStartup函數(shù)創(chuàng)建SOCKET版本,或者申明一個連接的開始。

再使用socket或者WSASocket建立流式套接字,返回套接字號。

配置SOCKADDR_IN結(jié)構(gòu)體參數(shù);包括端口,服務器IP地址等,利用connect函數(shù)去與服務器建立連接。

連接建立成功后,就可以利用套接字與服務器進行通信,包括發(fā)送數(shù)據(jù)和接收數(shù)據(jù)(send、recv)。

關(guān)閉連接:closesocket(套接字);WSACleanup();。

客戶端創(chuàng)建流程圖如圖3所示:

2.2 投影教學功能實現(xiàn)

投影教學即教師向所有學生發(fā)送消息,要求所有學生的電腦黑屏并且提求所有學生注意投影,以方便老師教學。投影教學的流程如下:

教師向所有學生發(fā)送投影教學啟動命令"2|TP|ON"。

學生機接收命令后,調(diào)用相關(guān)窗口進行黑屏和文件顯示處理,并鎖定鍵盤和鼠標。

當教師向?qū)W生發(fā)送投影教學關(guān)閉命令后"2|TP|OFF",學生機操作恢復,屏幕黑屏取消。

2.3 遠程協(xié)助功能實現(xiàn)

遠程協(xié)助包括兩部分的功能:學生桌面?zhèn)鬏敽蛥f(xié)助兩個功能。

學生桌面?zhèn)鬏斄鞒蹋?/p>

教師機向?qū)W生機發(fā)送“遠程協(xié)助”命令:"2|RomteHelp|ON"

學生機接收到“遠程協(xié)助”命令后,學生機選擇是否接收協(xié)助,并向教師機發(fā)送相關(guān)命令。

教師機如果接收到同意協(xié)助的命令"3|RomteHelp|YES"(如果接收到的命令是不同意,則提示學生機不同意"2|RomteHelp|NO"),教師機先獲取學生機的分辨率信息,并向?qū)W生機發(fā)送桌面分塊,初始化接收桌面數(shù)據(jù)的結(jié)構(gòu)。

學生機接收桌面分塊命令后,根據(jù)桌面的分塊,初始化發(fā)送桌面數(shù)據(jù)的結(jié)構(gòu),將記錄桌面每一塊區(qū)域的右上角坐標和左下角坐標,以及該區(qū)域的位圖。

教師機向?qū)W生機發(fā)送桌面更新命令"7|RomteHelp |REFRESH",客戶端接收到更新命令后向教師機傳遞桌面更新的塊數(shù)、更新塊的坐標、塊的壓縮信息;同時教師機還需要接收更新的塊數(shù)、更新塊的坐標、塊的壓縮信息,并解壓縮,然后將塊信息(坐標、塊壓縮)存入接收結(jié)構(gòu)鏈表。

在遠程協(xié)助相關(guān)界面上畫出學生機桌面信息,在OnPaint函數(shù)中繪制桌面。

當教師機需要停止遠程協(xié)助時,發(fā)送"2|RomteHelp|OFF"。

協(xié)助功能流程:

在學生機桌面?zhèn)鞯浇處煓C后,教師可以“操作”該桌面,包括鼠標左鍵按下、彈起;右鍵按下、彈起;當“桌面”響應這些消息后,向?qū)W生端發(fā)送WM開頭的消息。

學生機收到WM消息后,根據(jù)不同的消息模擬鼠標和鍵盤響應。首先將消息解出,消息包括了鼠標響應的坐標。學生機將坐標取出后,轉(zhuǎn)換成本機分辨率的坐標,然后再轉(zhuǎn)換成MOUSE_EVENT函數(shù)對應的坐標(0,0 -65535,65535),轉(zhuǎn)換坐標后再使用mouse_event模擬出來。

學生機根據(jù)模擬的操作,執(zhí)行操作后,教師機再發(fā)送桌面更新命令,并再次接收學生桌面信息存放于GdiREVList鏈表中。

2.4 同步教學功能的實現(xiàn)

此功能是遠程協(xié)助的逆過程。服務器是桌面信息發(fā)送方,學生機是桌面信息的接收方。同步教學實現(xiàn)流程如下:

教師機向所有學生發(fā)送同步教學命令"2|TeachSyn|ON"

學生機收到命令后,開始獲取教師機的分辯率,并向?qū)W生機發(fā)送桌面分塊,初始化接收桌面數(shù)據(jù)的結(jié)構(gòu)。

教師機接收桌面分塊命令后,根據(jù)桌面的分塊,初始化發(fā)送桌面數(shù)據(jù)的結(jié)構(gòu),將記錄桌面每一塊區(qū)域的右上角坐標和左下角坐標以及該塊區(qū)域的位圖。

后面的處理,與遠程協(xié)助相同。只是由學生機發(fā)起更新桌面的命令,教師機將桌面信息發(fā)送給學生機。

教師可以發(fā)送"3|TeachSyn|OFF"命令,關(guān)閉同步教學。在關(guān)閉同步教學時,注意要等待SendRegionDisplay函數(shù)執(zhí)行完畢后,再釋放Clear_GdiSend(&GdiSendStart;)。

3 結(jié)束語

值得注意的是,由于整個C/S通信框架只有一個SOCKET通信,所以在使用同步教學時,應當限制教師向?qū)W生機發(fā)送信息,更不可在做同步教學正在進行時發(fā)送遠程協(xié)助和屏幕監(jiān)控等命令。同樣的道理,遠程協(xié)助或屏幕監(jiān)控正在進行時,也應該限制其他消息的發(fā)送,包括學生端的。這可以避免消息的沖突。在本文中主要介紹了教學管理監(jiān)控系統(tǒng)中的教學功能,后續(xù)再詳細介紹系統(tǒng)中的管理監(jiān)控系統(tǒng)。

參考文獻:

[1] 周瑞玲,肖發(fā)新.基于C/S和B/S混合模式的教學管理系統(tǒng)的設(shè)計與實現(xiàn)[J].辦公自動化,2009(152).

[2] 張夢蝶.基于C/S模式的軟件工程網(wǎng)絡(luò)教學系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學,2012.

[3] 雷雪.基于C/S模式的遠程監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[D].北京:北京郵電大學, 2011.

【通聯(lián)編輯:梁書】

猜你喜歡
S架構(gòu)監(jiān)控系統(tǒng)教學管理
教學管理信息化問題研究
C/S架構(gòu)下的中職教學輔助系統(tǒng)的新探索
小學體育教學管理七要點
芦山县| 南郑县| 罗源县| 饶平县| 临桂县| 壶关县| 河池市| 榆树市| 柞水县| 滁州市| 大渡口区| 石台县| 崇左市| 巴中市| 大连市| 康保县| 万全县| 海晏县| 门源| 玉田县| 贡觉县| 常德市| 鸡东县| 定边县| 砚山县| 莱阳市| 肇源县| 陇西县| 峡江县| 阜新| 无为县| 昆明市| 深州市| 建宁县| 德令哈市| 明溪县| 荣昌县| 威信县| 馆陶县| 乌鲁木齐市| 伊通|