馬全來(lái)
摘 ?要:利用Delphi7.0 的Socket網(wǎng)絡(luò)組件及TCP/IP協(xié)議等技術(shù)通過(guò)主機(jī)對(duì)局域網(wǎng)內(nèi)工作的計(jì)算機(jī)信息的獲取,對(duì)操作人員的非法操作加以警示,控制網(wǎng)內(nèi)計(jì)算機(jī)等操作等功能.
關(guān)鍵詞:居域網(wǎng)監(jiān)控;Delphi;Winsock;TCP/IP;Socket網(wǎng)絡(luò)組件
1 局域網(wǎng)系統(tǒng)的工作原理
局域網(wǎng)計(jì)算機(jī)終端控管理制軟件普遍采取的是Client/Server模式(即客戶端/服務(wù)器模式),因此軟件一般分為兩大模塊:其一服務(wù)器端程序,運(yùn)行在管理人員正在使用的計(jì)算機(jī)(監(jiān)控端)上,將管理人員所需要執(zhí)行的操作編譯成指令,發(fā)送給被監(jiān)控端程序執(zhí)行,同時(shí)還要接收被監(jiān)控端發(fā)送來(lái)的反饋信息。除了服務(wù)器端外,還要有一個(gè)客戶端程序,運(yùn)行在所要進(jìn)行控制的計(jì)算機(jī)(被監(jiān)控端)上,它的主要工作是接收從服務(wù)器端發(fā)送來(lái)的指令碼,根據(jù)事先約定的協(xié)議,將指令碼翻譯執(zhí)行。除此還要捕捉監(jiān)控計(jì)算機(jī)發(fā)來(lái)信息。由此可見(jiàn)開(kāi)發(fā)局域網(wǎng)計(jì)算機(jī)終端控制管理可分為對(duì)監(jiān)控端與被監(jiān)控端的開(kāi)發(fā)。
2 關(guān)鍵技術(shù)
2.1 理解Socket
Sockets最初是UNIX系統(tǒng)中最重要的網(wǎng)絡(luò)通信接口,后來(lái)Microsoft Windows與1992年將其移植到Windows Sockets規(guī)范,稱為Winsock,版本為1.0。后Winsock經(jīng)過(guò)兩次修改,分別變?yōu)榘姹?.1和2.0。Windows系統(tǒng)包含了針對(duì)網(wǎng)絡(luò)編程的接口,既Winsock API,該接口包括一組I/O及獲取網(wǎng)絡(luò)信息的庫(kù)函數(shù),應(yīng)用程序通過(guò)調(diào)用Win32 API函數(shù)編程實(shí)現(xiàn)所需功能。Winsock庫(kù)函數(shù)包含于Winsock.dll動(dòng)態(tài)連接庫(kù)中(Winsock1.1包含與該文件中,Winsock2.0則是文件ws2_32.dll)。
Winsock發(fā)布時(shí)是針對(duì)C和C++的,主要由Winsock.h和Winsock.dll組成。使用Delphi進(jìn)行開(kāi)發(fā)時(shí),相應(yīng)文件為Winsock.pas。Delphi對(duì)Windows Sockets API進(jìn)行了封裝,使得Winsock編程變的容易。Delphi7中提供了1個(gè)服務(wù)器Soket組件TCPServer和1個(gè)客戶機(jī)Socket組件TCPClient,以及1個(gè)支持無(wú)連接Socket的UdpSocket組件。
2.2 Win32 API編程
Win32 API即為Microsoft 32 位平臺(tái)的應(yīng)用程序編程接口(Application Programming Interface)。其函數(shù)分為窗口管理、圖形設(shè)備接口、系統(tǒng)服務(wù)、國(guó)際特性、網(wǎng)絡(luò)服務(wù)五大類。所有在Win32 平臺(tái)上運(yùn)行的應(yīng)用程序都可以調(diào)用這些函數(shù)。
標(biāo)準(zhǔn)Win32 API函數(shù)分為以下五大類:
(1)窗口管理
窗口管理函數(shù)向應(yīng)用程序提供了一些創(chuàng)建和管理用戶界面的方法。
常見(jiàn)的窗口管理函數(shù)有窗口函數(shù)、鍵盤函數(shù)、消息和消息隊(duì)列、多文檔接口函數(shù)等。窗口管理函數(shù)還提供了一些與窗口有關(guān)的特性,比如插入標(biāo)記、剪貼板、光標(biāo)、鉤子、圖標(biāo)以及菜單等函數(shù)。
(2)圖形設(shè)備接口
圖形設(shè)備接口(GDI)提供了一系列的函數(shù)和相關(guān)的結(jié)構(gòu),應(yīng)用程序可以使用圖形設(shè)備接口提供的函數(shù)在顯示器、打印機(jī)或其它設(shè)備上生成圖形化的輸出結(jié)果。
常用的圖形設(shè)備接口有位圖函數(shù)、筆刷函數(shù)、剪裁函數(shù)、顏色函數(shù)、坐標(biāo)空間及映射函數(shù)、設(shè)備映射函數(shù)、設(shè)備環(huán)境函數(shù)、填充圖形函數(shù)、字體和文本函數(shù)、直線和曲線函數(shù)、畫筆函數(shù)等。
(3)系統(tǒng)服務(wù)
系統(tǒng)服務(wù)函數(shù)為應(yīng)用程序提供了訪問(wèn)計(jì)算機(jī)資源以及底曾操作系統(tǒng)特性的手段,比如訪問(wèn)內(nèi)存、文件系統(tǒng)、設(shè)備、進(jìn)程和線程。應(yīng)用程序使用系統(tǒng)服務(wù)函數(shù)來(lái)管理和監(jiān)視其所需要的系統(tǒng)資源。系統(tǒng)服務(wù)函數(shù)提供了訪問(wèn)文件、目錄以及輸入輸出(I/O)設(shè)備的手段,應(yīng)用程序使用文件I/O函數(shù)可以訪問(wèn)保存在指定計(jì)算機(jī)以及網(wǎng)絡(luò)上的磁盤和其他存儲(chǔ)設(shè)備上的文件和目錄。
常見(jiàn)的系統(tǒng)服務(wù)函數(shù)包括訪問(wèn)控制函數(shù)、原子函數(shù)、剪貼板函數(shù)、通訊函數(shù)、控制臺(tái)函數(shù)、管道函數(shù)、調(diào)試函數(shù)、動(dòng)態(tài)數(shù)據(jù)交換函數(shù)、錯(cuò)誤函數(shù)、文件函數(shù)、鉤子函數(shù)等。
(4)網(wǎng)絡(luò)服務(wù)
網(wǎng)絡(luò)函數(shù)允許網(wǎng)絡(luò)上的不同計(jì)算機(jī)的應(yīng)用程序之間進(jìn)行通訊。用于在網(wǎng)絡(luò)中的各計(jì)算機(jī)上創(chuàng)建和管理共享資源的連接,例如共享目錄和網(wǎng)絡(luò)打印機(jī)。
網(wǎng)絡(luò)接口包括Windows網(wǎng)絡(luò)函數(shù)、Windows套接字(Socket)、NetBIOS、RAS、SNMP、Net函數(shù)以及網(wǎng)絡(luò)DDE。
2.3 Delphi 7.0編程技術(shù)分析
Delphi與面向?qū)ο蟮腜ascal語(yǔ)言結(jié)臺(tái)在一起,使用Delphi可以在撮短的時(shí)間里建立起快速、直觀、強(qiáng)大的Windoow應(yīng)用程序,Delphi的特點(diǎn)如下:
(1)可視化開(kāi)發(fā)環(huán)境
開(kāi)發(fā)圖形用戶界面時(shí),不需編寫大量的程序代碼以描述界面的外觀特點(diǎn),而只需把所需的組件加入窗體相應(yīng)的位置即可。
(2)豐富的VCL
VCL是Delphi重要的組成部分,包含多種類別的組件也允許添加第三方控件。
(3)面向?qū)ο蟮奶匦?/p>
面向?qū)ο蟪绦蛟O(shè)計(jì)OOP(Object-Oriented Programming)是Delphi誕生的基礎(chǔ)。OOP立意于創(chuàng)建軟件重用代碼,具備更好的模擬現(xiàn)實(shí)世界環(huán)境的能力。Delphi是完全面向?qū)ο蟮?,Delphi提供了一個(gè)真正的OOP擴(kuò)展的可視化編程環(huán)境,使得可視化編程與面向?qū)ο蟮拈_(kāi)發(fā)框架緊密的結(jié)合起來(lái)。
(4)高效的編譯器
Pascal編譯器以編譯速度而著名,delphi真正建立在此基礎(chǔ)上的,Delphi針對(duì)Windows系統(tǒng)的最快的高級(jí)語(yǔ)言本地代碼編譯器。
3.結(jié)論
利用Delphi網(wǎng)絡(luò)通信 Socket技術(shù)及面向?qū)ο笠约癟CP/IP協(xié)議等技術(shù)對(duì)局域網(wǎng)內(nèi)計(jì)算機(jī)信息的獲取、控制及管理。向網(wǎng)內(nèi)計(jì)算機(jī)發(fā)布通知,通過(guò)調(diào)用Win32 API函數(shù)對(duì)網(wǎng)內(nèi)計(jì)算的監(jiān)督、控制、警示及網(wǎng)內(nèi)計(jì)算機(jī)信息的提取等功能,其優(yōu)點(diǎn)是充分利用了現(xiàn)有的局域網(wǎng)資源和廣域網(wǎng)資源。
參考文獻(xiàn)
[1] 秦玉華.局域網(wǎng)監(jiān)控系統(tǒng)的開(kāi)發(fā)[J].肇慶學(xué)院學(xué)報(bào),2007,(02)
[2] 費(fèi)仁元,王民.基于C/S模式的企業(yè)局域網(wǎng)監(jiān)控系統(tǒng)[J].北京工業(yè)大學(xué)學(xué)報(bào),2004,(02).