999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

局域網內“網絡盤”的設計和實現

2008-01-01 00:00:00盧飛業
現代教育技術 2008年2期

【摘要】該文討論了制作學生個人“網絡盤”的必要性,介紹了運用API函數在局域網內批量創建和管理網絡盤的設計思路,并給出在VB6中實現“網絡盤”的關鍵代碼。

【關鍵詞】VB;API;Access;局域網;網絡盤

【中圖分類號】G434 【文獻標識碼】B 【論文編號】1009—8097 (2008) 02—0111—03

在信息技術課的教學和考試中經常需要共享制作素材、收發文件。 大多數的老師都習慣于用直接共享文件夾的方法。這種做法雖然簡單易行,但是保密性差。學生之間能相互抄襲,相互刪改,在一些學生思想道德素質不高的班級里,這一點令老師非常頭痛。另外,一個機房通常會讓幾個老師十幾個班級輪流上課,為了安全還得不斷地共享和取消共享。

為解決這一問題,有些老師通過IIS創建FTP服務器或BBS論壇面向用戶收發文件 。這種做法使用B/S架構,有很多優點,備受青睞,確實是一種好的方法。但其最大的缺點是:學生要進行壓縮/解壓、下載/上傳文件的繁瑣操作,且不能實時保存到服務器(只能先保存到本機后再上傳)。操作稍有差池、死機、掉電都可能對保存數據造成非常大的影響。

也有部分老師習慣使用電子教室軟件(如:易思、極域等)附帶的收發文件功能。其收發文件的過程準確快速穩定。遺憾的是,這種做法同樣具有不能實時保存到服務器的弊端。更重要的是無學生身份識別的功能,只能面向學生機器收發而不是面向學生。收發的過程容易誤操作,更不可能連續幾節課自動收發。

因此,我親自動手制作了一種保密性高,快速穩定安全且操作簡單方便的學生個人“網絡盤”。

一 “網絡盤”的設計思路

Windows早已為我們準備好了“網絡盤”,我們要做的只是更好地控制和管理它。

眾所周知,使用Windows可以將局域網內其他計算機的共享文件夾映射成網絡驅動器,即所謂的 “網絡盤”(如: X:、Y:)。對此網絡盤的操作方法跟本地硬盤分區是完全一致的,能直接存取網絡盤中的文件。而在VB中調用相應的API函數,可以在服務器自動設置或取消文件夾的共享,也可以在學生機端自動映射或斷開網絡盤。因此,可以設計程序在服務器端按學生名單自動批量制作各個學生的個人文件夾,并設置隱藏的加密共享。學生機使用客戶端程序驗證學生身份后,便能自動將服務器中的特定個人文件夾映射成網絡驅動器。如下圖所示:

具體的操作流程:

對于學生而言,登陸之后只是感覺到多了一個硬盤分區,無須再說明其他的操作方法。服務器端程序可管理學生名冊,可增刪網絡盤,增刪各個網絡盤內的文件等;而客戶端程序可驗證學生身份,自動映射或斷開網絡盤,可監測網絡盤內的文件類型及總容量,并可幫助學生在退出網絡盤后自動關機或重啟。學生無法進入他人的網絡盤,在使用網絡盤的過程中也不能自行斷開網絡盤,不能亂塞文件,否則強制自動關機。

筆者選擇的編程語言是VB6.0,后臺數據庫是Access。學生機程序放在服務器共享給學生機,通過網絡共享運行,便于更新升級。

二 關鍵代碼

程序的關鍵是正確使用設置/取消共享、映射/斷開網絡驅動器的API函數。總結如下:

現以服務器的操作系統為Win2000 Server的情況為例,介紹關鍵代碼及實現過程。因篇幅所限,略去批量制作學生個人文件夾的的步驟,略去查詢Access數據庫的代碼,略去API函數聲明及其有關的常數、結構的定義。讀者可自行查閱有關API函數用法的幫助文件。

1 設置共享(服務器端)

‘設置共享的過程,便是查詢數據庫,并按數據庫中學生信息反復調用某個設置共享的函數建立共享。

‘NT以上版本操作系統設置共享的函數:

Public Function CreateShareNT(ByVal sSharePath As String, _

ByVal sShareName As String, _

ByVal sRemark As String, _

ByVal sROPass As String, _

ByVal sRWPass As String, ByVal bShareTypeRW As Boolean) As Long

‘參數說明:

‘sSharePath 被共享的文件夾路徑

‘sShareName 共享名,加密并加字符$

‘sRemark 共享的備注信息

‘sROPass 只讀共享密碼

‘sRWPass 完全共享密碼

‘bShareTypeRW 共享類型,True為完全,False為只讀

Dim re As String

Dim sServer As String

Dim lngServer As Long

Dim lngNetname As Long

Dim lngPathAs Long

Dim lngRemark As Long

Dim lngPwAs Long

Dim parmerr As Long

Dim si2As SHARE_INFO_2

sServer = \"\" '本地共享

lngServer = StrPtr(sServer)'轉成地址

lngNetname = StrPtr(sShareName)

lngPath = StrPtr(sSharePath)

'如果有備注信息

If Len(sRemark) > 0 Then

lngRemark = StrPtr(sRemark)

End If

'如果有密碼

If Len(sRWPass) > 0 Then

lngPw = StrPtr(sRWPass)

End If

'初始化共享信息

With si2

shi2_netname = lngNetname

.shi2_path = lngPath

.shi2_remark = lngRemark

shi2_type = STYPE_DISKTREE

.shi2_permissions = IIf(bShareTypeRW, ACCESS_ALL, ACCESS_READ)

.shi2_max_uses = -1

.shi2_passwd = lngPw

End With

'設置共享(用戶名,共享類型,共享信息)

CreateShareNT = NetShareAdd(lngServer, 2, si2, parmerr)

End Function

‘可類似地編寫出Win98系統下設置共享的函數CreateShare98

‘被反復調用的設置共享的函數:

Public Function CreateShare(ByVal sSharePath As String, _

ByVal sShareName As String, _

ByVal sRemark As String, _

ByVal sROPass As String, _

ByVal sRWPass As String, ByVal bShareTypeRW As Boolean) As Long

‘OSIsWin98()是判斷操作系統是否Win98的函數,其代碼在此略。

If OSIsWin98() Then

CreateShare = CreateShare98(sSharePath, _

sShareName, _

sRemark, _

sROPass, _

sRWPass, bShareTypeRW)

Else

CreateShare = CreateShareNT(sSharePath, _

sShareName, _

sRemark, _

sROPass, _

sRWPass, bShareTypeRW)

End If

End Function

‘設置共享的過程:

Private Sub CreateShareS()

……

Do

CreateShare StartPath rs(\"XueHao\") rs(\"XingMing\") ,_

JiaMiStr(rs(\"XueHao\") rs(\"XingMing\") ) “$”,_

“” , ”lupheace”, ”lupheace”, True

‘StartPath是軟件設定的開始路徑(如D:\\ShareDir\\)

‘JiaMiStr是加密字符串的函數,其代碼在此略。加密的作用是防止學生直接通過共享路徑訪問。

‘共享名后加“$”,達到隱藏共享的目的,無法通過網上鄰居看到此共享。

rs.MoveNext

Loop Until rs.EOF

rs.Close

End Sub

1 刪除共享(服務器端)

‘刪除共享的過程,便是查詢數據庫,并按數據庫中學生信息反復調用某個刪除共享的函數。

‘NT以上版本操作系統刪除共享的函數:

Public Function DeleteShareNT(sShareName As String) As Long

Dim sServer As String

Dim lngServer As Long'計算機名

Dim lngNetname As Long'共享名

sServer = \"\"

lngServer = StrPtr(sServer)'轉成地址

lngNetname = StrPtr(sShareName)

DeleteShareNT = NetShareDel(lngServer, lngNetname, 0)

End Function

‘可類似地編寫出Win98系統下刪除共享的函數DeleteShare98

‘被反復調用的刪除共享的函數:

Public Function DeleteShare(ByVal sShareName As String) As Long

‘OSIsWin98()是判斷操作系統是否Win98的函數,其代碼在此略。

If OSIsWin98() Then

DeleteShare = DeleteShare98(sShareName)

Else

DeleteShare = DeleteShareNT(sShareName)

End If

End Function

‘刪除共享的過程:

Private Sub DeleteShareS()

……

Do

DeleteShare JiaMiStr(rs(\"XueHao\") rs(\"XingMing\") ) “$”

rs.MoveNext

Loop Until rs.EOF

rs.Close

End Sub

2 映射網絡驅動器(客戶端)

‘無論是Win98還是NT以上版本的操作系統,都可用同一組映射/斷開網絡驅動器的API函數。

Public Function CreateNetDrive() As Boolean

Dim NetR As NETRESOURCE

Dim ErrInfo As Long

NetR.dwScope = RESOURCE_GLOBALNET

NetR.dwType = RESOURCETYPE_DISK

NetR.dwDisplayType=RESOURCEDISPLAYTYPE_SHARE

NetR.dwUsage = RESOURCEUSAGE_CONNECTABLE

NetR.lpLocalName = “X:”

NetR.lpRemoteName = RemoteDiskPath ‘遠程文件夾網絡路徑,根據學生登陸信息生成

ErrInfo = WNetAddConnection2(NetR, “lupheace”, vbNullString, CONNECT_UPDATE_PROFILE)

CreateNetDrive = (ErrInfo = NO_ERROR)

End Function

3 斷開網絡驅動器(客戶端)

Public Function DeleteNetDrive() As Boolean

Dim ErrInfo As Long

Dim strLocalName As String

strLocalName = \"X:\"

ErrInfo = WNetCancelConnection2(strLocalName, CONNECT_UPDATE_PROFILE, True)

‘True表示所有連接都強制斷開

DeleteNetDrive = (ErrInfo = NO_ERROR)

End Function

三 結束語

用這種方法實現的學生個人“網絡盤” 高效穩定,保密性好,大大方便了對共享文件的使用和管理。它的優點是:能實時保存,操作簡便,收發過程自動完成,并能連續幾節課自動收發。將服務器端和客戶端程序的功能稍稍增強,即可讓“網絡盤”額外具有學生報到、修正學生機時間、信息廣播、顯示實時座位表、使用記錄等實用的機房管理功能。 筆者在“網絡盤”的基礎上已完成《小飛俠考試改卷系統》的編寫。“網絡盤”在日常教學中擔當著廣播文件,收發作業的角色,而在考試時擔當著收發試卷的角色。該軟件投入教學已有三年多,測試通過的系統包括Win98、Win2000、WinXP 和Win2003, 同時操作的學生數量在60人左右,效果良好。希望本文能給讀者一些參考和啟迪。

參考文獻

[1](美)Francesco Balena 著,翔實翻譯組譯.Visual Basic 6 編程技術大全[M].北京:機械工業出版社.2000.

[2]Windows API函數參考手冊[M]北京:人民郵電出版社,2002.

主站蜘蛛池模板: 日韩欧美中文在线| 中国黄色一级视频| 久久77777| 国产成本人片免费a∨短片| 亚洲国产精品国自产拍A| 综合亚洲网| 精品亚洲欧美中文字幕在线看| 精品三级网站| 欧洲极品无码一区二区三区| 国产欧美视频综合二区| 久久综合AV免费观看| 青青青国产精品国产精品美女| 99久久国产综合精品2020| 亚洲av无码久久无遮挡| 亚洲最黄视频| 国产人前露出系列视频| 亚洲码一区二区三区| 四虎永久免费在线| 91精品国产丝袜| 亚洲,国产,日韩,综合一区| 噜噜噜综合亚洲| 中文字幕无码制服中字| 国产精品密蕾丝视频| 国产91精品久久| 亚洲成人黄色网址| 国产草草影院18成年视频| 欧美成人亚洲综合精品欧美激情| 国产精品无码久久久久AV| 国产人妖视频一区在线观看| 二级毛片免费观看全程| 国产亚洲精| 亚洲一区二区三区中文字幕5566| 久久伊人操| 亚洲黄色网站视频| 真人免费一级毛片一区二区| 狠狠色噜噜狠狠狠狠色综合久| 性色一区| 99久久婷婷国产综合精| 久青草网站| 国产亚洲欧美在线中文bt天堂| 久久综合结合久久狠狠狠97色| 国产成人av大片在线播放| 日韩无码黄色网站| 色婷婷成人网| 一本一道波多野结衣av黑人在线| 久久国产成人精品国产成人亚洲 | 亚洲天堂久久新| 无码一区18禁| 看你懂的巨臀中文字幕一区二区 | 国产亚洲精品97AA片在线播放| 99视频在线免费观看| 国产97公开成人免费视频| 欧美a在线看| 国产肉感大码AV无码| 欧美爱爱网| 亚洲第一中文字幕| 综合色88| 久久亚洲美女精品国产精品| 亚洲无码精彩视频在线观看 | 国产一区二区色淫影院| 四虎综合网| 日韩经典精品无码一区二区| 久久久久人妻精品一区三寸蜜桃| 在线观看亚洲国产| 亚洲色图另类| 日韩国产 在线| 国产精品微拍| 亚洲AV人人澡人人双人| 手机精品福利在线观看| 国产成人高清亚洲一区久久| 一级片一区| 国产亚洲成AⅤ人片在线观看| 国产精品欧美激情| 狼友视频国产精品首页| 亚洲天堂.com| 久久精品人人做人人爽97| 国产一区二区影院| 亚洲国产精品不卡在线| 久久伊人久久亚洲综合| 丰满少妇αⅴ无码区| 色婷婷成人网| 日韩久草视频|