亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        使用Socket組件開(kāi)發(fā)C/S網(wǎng)絡(luò)考試系統(tǒng)

        2009-03-14 06:59:48陳曉舟
        新媒體研究 2009年4期

        陳曉舟 林 意

        [摘要]目前,無(wú)紙化考試系統(tǒng)正越來(lái)越多成為一種普遍采用的考試手段,是對(duì)卷面?zhèn)鹘y(tǒng)考試的一種改革,由于考試品種的多樣性,現(xiàn)階段對(duì)于無(wú)紙化考試基本上都采用客戶端/服務(wù)器模式,即我們普遍所說(shuō)的C/S系統(tǒng)。以Delphi6.0作為開(kāi)發(fā)C/S系統(tǒng)的開(kāi)發(fā)工具為例,重點(diǎn)研究網(wǎng)絡(luò)無(wú)紙化考試系統(tǒng)的開(kāi)發(fā)思路。

        [關(guān)鍵詞]C/S系統(tǒng) Socket組件 套接字 Delphi

        中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0220052-02

        一、引言

        網(wǎng)絡(luò)無(wú)紙化考試系統(tǒng)作為一種新穎的考試手段出現(xiàn)在上世紀(jì)九十年代,是對(duì)傳統(tǒng)卷面考試形式的重大改革,是為了克服傳統(tǒng)考試形式所帶來(lái)的一系列問(wèn)題應(yīng)運(yùn)而生的,無(wú)紙化考試對(duì)于傳統(tǒng)考試形式具有幾大優(yōu)勢(shì):

        1.減少資源浪費(fèi)尤其是大量考試用紙張和印刷的浪費(fèi),實(shí)現(xiàn)“綠色”考試的理念。

        2.極大地降低了考試成本,尤其是考務(wù)人員的工作量可以大大降低。

        3.提高了考試的公平性和公正性,由于題庫(kù)加密的因素,可以最大限度地保證考題的安全性。

        4.突破了地域限制,能最大限度地利用網(wǎng)絡(luò)的優(yōu)勢(shì)實(shí)施異地考試。

        由于考試的特殊性,在多方面都有比較嚴(yán)格的要求,而根據(jù)地域的差異性,在組織考試的時(shí)候要充分考慮到影響考試正常進(jìn)行的因素,例如題庫(kù)的保密、網(wǎng)絡(luò)線路的可靠與否等等,所以開(kāi)發(fā)無(wú)紙化網(wǎng)絡(luò)考試系統(tǒng)一般是在基于安全連接的TCP/IP協(xié)議上進(jìn)行,而且,題庫(kù)必須進(jìn)行加密以確??荚嚨墓叫浴?/p>

        二、開(kāi)發(fā)網(wǎng)絡(luò)考試系統(tǒng)的基本思路

        (一)網(wǎng)絡(luò)考試系統(tǒng)開(kāi)發(fā)中主要采用的網(wǎng)絡(luò)協(xié)議組件

        無(wú)紙化網(wǎng)絡(luò)考試系統(tǒng)的開(kāi)發(fā)是一個(gè)系統(tǒng)工程,根據(jù)考試的特殊性,我們通常要從考試的保密性、考試的客觀性和考試的數(shù)據(jù)安全性方面考慮,歸納起來(lái)有如下幾個(gè)問(wèn)題:考試系統(tǒng)的題庫(kù)組織工作,考試系統(tǒng)采用的網(wǎng)絡(luò)安全保障,以及服務(wù)器、考試管理機(jī)、客戶端的兼容性運(yùn)行以及考試故障的數(shù)據(jù)恢復(fù)。

        在Windows中廣泛采用TCP套接字作為連接的主要接口,TCP/IP協(xié)議的套接字接口有三種可選類型:流式套接字、數(shù)據(jù)報(bào)套接字和原始套接字,由于數(shù)據(jù)報(bào)套接字屬于無(wú)連接服務(wù),是不可靠的鏈接協(xié)議,而原始套接字只用于新網(wǎng)絡(luò)協(xié)議的測(cè)試,因此,我們?cè)诳荚囅到y(tǒng)中選用流式套接字作為網(wǎng)絡(luò)協(xié)議基礎(chǔ)。

        在Delphi開(kāi)發(fā)系統(tǒng)中,TclientSocket是客戶端Socket套接字組件,它負(fù)責(zé)實(shí)現(xiàn)客戶端的協(xié)議基礎(chǔ),我們使用它作為考試客戶端的主要組件,這個(gè)組件專門負(fù)責(zé)客戶端與服務(wù)器之間的通訊,主要實(shí)現(xiàn)的功能是與服務(wù)器保持連接,收發(fā)題庫(kù)和考生的答題,它的幾個(gè)重要屬性是:

        1.Address屬性

        字符串型,它指明了要連接的服務(wù)器的IP地址。

        2.Host屬性

        字符串型,它指明了要連接的服務(wù)器的主機(jī)名,不過(guò)它的優(yōu)先級(jí)比Address高,如果同時(shí)指定了Address和Host屬性,則Address將被忽略,當(dāng)然,在開(kāi)發(fā)考試系統(tǒng)時(shí),我們通常只指定Address屬性。

        3.Port屬性

        整數(shù)類型,指定服務(wù)器的服務(wù)端口,一般避免使用系統(tǒng)默認(rèn)端口0~1023,我們這里使用6000端口。

        4.ClientType屬性

        枚舉類型,本屬性對(duì)組件影響較大,它指定客戶端的Socket讀寫信息的方式。我們?cè)O(shè)定為ctNoBlocking。

        TserverSocket組件是服務(wù)器套接字組件,用于考試管理機(jī)服務(wù)端,它和TclientSocket組件的許多屬性相似,不同的屬性中比較重要的是TserverType,該屬性也是一個(gè)枚舉類型,它包括stNonBlocking和stThreadBlocking兩個(gè)值,stThreadBlocking表示采用阻塞方式進(jìn)行連接,在這種情況下,服務(wù)器會(huì)為每一個(gè)阻塞方式的鏈接自動(dòng)分配一個(gè)新的執(zhí)行線程,這樣,即使某個(gè)客戶端程序正在進(jìn)行讀寫操作,其他客戶端也不必等待。在考試系統(tǒng)的開(kāi)發(fā)中,TserverSocket應(yīng)該采用stThreadBlocki

        ng方式進(jìn)行。

        (二)網(wǎng)絡(luò)考試系統(tǒng)開(kāi)發(fā)的基本結(jié)構(gòu)的有關(guān)思路

        根據(jù)網(wǎng)絡(luò)考試系統(tǒng)開(kāi)發(fā)的要求,網(wǎng)絡(luò)考試系統(tǒng)由考試服務(wù)器端、考試管理機(jī)端、考試客戶機(jī)端、考試后臺(tái)支持系統(tǒng)等軟件組成。當(dāng)然,根據(jù)考試的類型,還可由其他部分組成,如某些考試需要計(jì)算機(jī)模擬一些軟件的運(yùn)行環(huán)境,則另需一些模擬運(yùn)行環(huán)境軟件,本文僅討論一般情況下,網(wǎng)絡(luò)考試系統(tǒng)的組成框架,并不涉及某些專門考試類型,而且,考慮到目前的計(jì)算機(jī)的功能情況,本文將考試服務(wù)器端與考試管理機(jī)端合并在一起進(jìn)行考慮。

        1.服務(wù)器與考試管理機(jī)端的設(shè)計(jì)思路

        服務(wù)器與考試管理機(jī)端在考試中承擔(dān)了數(shù)據(jù)核心中轉(zhuǎn)、考試管理的重要任務(wù),所以,在整個(gè)考試系統(tǒng)中占有核心地位,目前在普遍使用的網(wǎng)絡(luò)C/S考試系統(tǒng)中大都采用瘦客戶端方式,也就是說(shuō),客戶端僅擔(dān)任考生考試平臺(tái)的作用,主要的工作是由服務(wù)器和考試管理機(jī)來(lái)完成的。因此,服務(wù)器與考試管理機(jī)端軟件的開(kāi)發(fā)占有很重要的地位。

        仔細(xì)分析網(wǎng)絡(luò)考試系統(tǒng),可以考慮服務(wù)器與考試管理機(jī)端所承擔(dān)的任務(wù)有:題庫(kù)的管理與加載、考生庫(kù)的管理與加載、考生的考試登錄、考試異常情況處理、考試數(shù)據(jù)處理等等。因此,服務(wù)器與考試管理機(jī)端的軟件框架如圖:

        (1)題庫(kù)管理模塊

        負(fù)責(zé)對(duì)考試所涉及的題庫(kù)的組織、加密和發(fā)送等工作,其中題庫(kù)我們采用數(shù)據(jù)庫(kù)的形式進(jìn)行封裝,根據(jù)不同的考試可以分為客觀題和主觀題兩種,而在題目的編排上設(shè)計(jì)到題面和選項(xiàng)的組織,根據(jù)考試的規(guī)模,數(shù)據(jù)庫(kù)可以采用SQL或Access,在Delphi中,基本上可以采用三種數(shù)據(jù)庫(kù)引擎,即:ODBC引擎、ADO引擎以及Delphi自帶的BDE引擎,考慮到兼容性和易用性等方面的要求,首選采用基于OLE技術(shù)的ADO引擎技術(shù)。使用Delphi自帶的ADO數(shù)據(jù)庫(kù)組件即可輕松實(shí)現(xiàn)上述數(shù)據(jù)庫(kù)連接。主要使用TADOConnection和TADOQuery組件。TADOConnection負(fù)責(zé)數(shù)據(jù)庫(kù)的連接,只需對(duì)其連接字符串正確設(shè)置即可完成連接,TADOQuery組件負(fù)責(zé)具體操作數(shù)據(jù)庫(kù),使用通用的SQL語(yǔ)言。

        (2)考生管理模塊

        負(fù)責(zé)考生信息的登錄、校驗(yàn)的工作,也是采用數(shù)據(jù)庫(kù)方式進(jìn)行管理,可以單獨(dú)存放于考生數(shù)據(jù)庫(kù)庫(kù)中,對(duì)于小型的考試,也可與成績(jī)庫(kù)一起打包。

        (3)考試異常情況處理模塊

        負(fù)責(zé)隨時(shí)考生考試情況,客戶端網(wǎng)絡(luò)故障處理以及考生因機(jī)器問(wèn)題的處理解決辦法(移機(jī)考試或重新登錄),它需要在整個(gè)考試過(guò)程中監(jiān)視每一個(gè)客戶端的情況,一發(fā)現(xiàn)客戶端異常就要出現(xiàn)警告信息,以便于考務(wù)人員及時(shí)作出調(diào)整。

        (4)考試成績(jī)處理與數(shù)據(jù)處理模塊

        這是網(wǎng)絡(luò)考試中的最后一道環(huán)節(jié),它負(fù)責(zé)處理考生的考試成績(jī)的加密與打包,考生考試中間數(shù)據(jù)的備份和上傳。

        2.考試客戶機(jī)的設(shè)計(jì)思想

        客戶端承擔(dān)著考生的考試平臺(tái),在與服務(wù)器的數(shù)據(jù)交換方面采用的組件主要也是TclientSocket組件,其監(jiān)聽(tīng)端口與服務(wù)器設(shè)置一致,其工作方式采用ctBlocking模式,為可靠地進(jìn)行與服務(wù)器的數(shù)據(jù)交換,客戶端采用TwinSocketStream流方式進(jìn)行讀寫。

        客戶端的主要任務(wù)是建立一個(gè)友好的人機(jī)交互界面,由于采用瘦客戶模式,因此,在一般的考試系統(tǒng)中,并不考慮在客戶端設(shè)計(jì)考試評(píng)分環(huán)節(jié),而是統(tǒng)一在服務(wù)器端進(jìn)行評(píng)分。

        3.考試服務(wù)器、考試客戶機(jī)數(shù)據(jù)通信協(xié)議的設(shè)計(jì)

        在Delphi中,即使TclientSocket和TserverSocket能夠相互協(xié)調(diào)工作,但考慮到考試的特殊性,本考試系統(tǒng)在考試服務(wù)器和考試客戶機(jī)之間仍應(yīng)該設(shè)計(jì)一個(gè)完整的數(shù)據(jù)交換協(xié)議,以便于最大限度地減少考試數(shù)據(jù)的錯(cuò)誤傳遞。所以,必須建立一個(gè)所謂的“令牌”規(guī)則,在服務(wù)器(或客戶機(jī))向客戶機(jī)(或服務(wù)器)發(fā)送第n條數(shù)據(jù)流后,不應(yīng)該馬上發(fā)送第n+1條,而是在收到對(duì)方的“請(qǐng)求下一傳送”的“令牌”后才能繼續(xù)傳送數(shù)據(jù),根據(jù)這個(gè)思想,我們實(shí)際上在TclientSocket和TserverSocket的基礎(chǔ)上開(kāi)發(fā)了一個(gè)數(shù)據(jù)傳送中間件供整個(gè)系統(tǒng)使用。

        三、考試系統(tǒng)開(kāi)發(fā)中幾個(gè)重要技術(shù)

        (一)組件開(kāi)發(fā)技術(shù)

        在Delphi中,開(kāi)發(fā)組件使用三種方法:繼承、聚合和子類化,但是,不管什么方法,開(kāi)發(fā)VCL組件都必須合理選擇和使用好父類,因?yàn)橹虚g件的屬性和方法往往是繼承自父類,使用輕捷的父類能有效提高開(kāi)發(fā)效率,例如本文所提及的考試服務(wù)器和考試客戶機(jī)之間的數(shù)據(jù)交換協(xié)議,我們就是分別繼承自TclientSocket和TserverSocket。

        (二)掛鉤技術(shù)的合理使用

        掛鉤技術(shù)即我們俗稱的“Hook”技術(shù),Hook技術(shù)功能強(qiáng)大,它能成功地屏蔽系統(tǒng)事件,在考試系統(tǒng)的開(kāi)發(fā)中,應(yīng)該考慮到考生在考試中的各種操作習(xí)慣,甚至某些作弊手段,例如,為了防止考生有意無(wú)意地結(jié)束考試進(jìn)程而導(dǎo)致考試無(wú)法進(jìn)行,可建立鍵盤掛鉤,監(jiān)視Ctrl+Alt+Del鍵的情況,屏蔽任務(wù)管理器。

        (三)數(shù)據(jù)加密技術(shù)

        考試數(shù)據(jù)的加密無(wú)疑是考試安全的保障,對(duì)考試數(shù)據(jù)的加密是保證考試公平的有效手段,本文采用內(nèi)存壓縮流的方法就是針對(duì)數(shù)據(jù)加密而提出的解決方法,對(duì)于數(shù)據(jù)庫(kù)的加密,也可考慮對(duì)關(guān)鍵數(shù)據(jù)實(shí)行高強(qiáng)度MD5加密方法進(jìn)行。

        總之,無(wú)紙化考試系統(tǒng)將越來(lái)越多地使用在各種考試形式中,它對(duì)考試的更加公平、更加公正無(wú)疑起著重要的推動(dòng)作用。

        參考文獻(xiàn):

        [1]羅小平,《Delphi精要》,電子工業(yè)出版社,2004年1月出版.

        [2]靜海,《深入Delphi網(wǎng)絡(luò)編程》,2001年10月出版.

        [3]朱蓉、張鼎,《基于Java Socket技術(shù)的網(wǎng)絡(luò)考試模擬系統(tǒng)的開(kāi)發(fā)》,《嘉興學(xué)院學(xué)報(bào)》,2005.第17卷,第06期.

        [4]劉暢,《Socket技術(shù)在小型C/S應(yīng)用程序加密中的應(yīng)用》,《科技咨詢導(dǎo)報(bào)》2007.第24期.

        [5]沈祥鴻、范云芝,《Delphi6.0與VB6.0中的Socket技術(shù)對(duì)比分析及集成》,《信陽(yáng)農(nóng)業(yè)高等??茖W(xué)校學(xué)報(bào)》,2005.第15卷,第03期.

        作者簡(jiǎn)介:

        陳曉舟,江蘇無(wú)錫人,江南大學(xué)工程碩士,無(wú)錫市廣播電視大學(xué)講師;林意,江蘇無(wú)錫人,江南大學(xué)教授。

        真人无码作爱免费视频禁hnn| 亚洲黄色精品在线播放| 中字亚洲国产精品一区二区| 麻豆AV无码久久精品蜜桃久久| 国产情侣自拍偷拍精品| 蜜桃a人妻精品一区二区三区| 中国妇女做爰视频| 成人免费一区二区三区| 国产亚洲人成a在线v网站| 久久精品中文字幕极品| 激情五月天俺也去综合网| 蜜臀av人妻一区二区三区| 国产91在线播放九色快色| 久久精品网站免费观看| 精品国产综合区久久久久久 | 边啃奶头边躁狠狠躁| 亚洲av无码成人网站www| 免费国产在线精品三区| 91熟女av一区二区在线| 国产情侣自拍在线视频| 亚洲av片无码久久五月| 一进一出一爽又粗又大| 无码夜色一区二区三区| 久久精品有码中文字幕1| 伊人久久亚洲精品中文字幕| 一本无码中文字幕在线观| 毛多水多www偷窥小便| 亚洲国产精品久久久性色av| 日本人妻系列一区二区| 女人av天堂国产在线| 久久综合丝袜日本网| 少妇极品熟妇人妻无码| 亚洲国产日韩综一区二区在性色 | 亚洲最大成人网站| 国产精品户外野外| 日本亚洲欧美在线观看| 日本道免费一区日韩精品| 九九久久精品国产免费av| 久久久www成人免费毛片| 宝贝把腿张开我要添你下边动态图 | 无码国产精品一区二区vr老人|