基于Socket的局域網(wǎng)管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于Socket的局域網(wǎng)管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于Socket的局域網(wǎng)管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于Socket的局域網(wǎng)管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于Socket的局域網(wǎng)管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第 22卷第 1期 佛山科學技術(shù)學院學報 (自然科學版 V o l . 22N o . 1 2004年 3月 Jou rnal of Fo shan U n iversity (N atu ral Science Editi on M ar . 2004文章編號 :100820171(2004 0120037204基于 Socket 的局域網(wǎng)管理系統(tǒng)的設(shè)計與實現(xiàn) 朱玉璽 1, 劉亞姝 2(1. 佛山科學技術(shù)學院 工學院 , 廣東 佛山 528000; 2. , 北京 100044摘要 :基于 Socket 技術(shù) , 采用流式套接字及 TCP , 。 具體實現(xiàn)了 “局域網(wǎng)的管理” , 在局域網(wǎng)上

2、對 。關(guān)鍵詞 :Socket ;中圖分類號 :T P 393. 文獻標識碼 :A隨著 In ternet 的快速發(fā)展 , 局域網(wǎng)作為一個行政區(qū) 、 企業(yè) 、 部門的內(nèi)部信息傳遞網(wǎng)絡(luò) , 越來越受到重 視 。 但局域網(wǎng)內(nèi)的機器數(shù)量的增加 , 對其設(shè)備的的管理則需要配備相當?shù)娜肆Y源 , 為了探討 “資源配 備” 和 “管理的效果” , 采用了 Socket 設(shè)計技術(shù) 、 開發(fā)了一個局域網(wǎng)管理系統(tǒng) 。 Socket (套接字 是一種網(wǎng) 絡(luò)編程接口 , 它是對通信端點的一種抽象 , 提供了一種發(fā)送和接收數(shù)據(jù)的機制 1。 W in sock 技術(shù)就是微 軟 公司對套接字編程結(jié)構(gòu)的具體實現(xiàn) 。 W in

3、 sock 支持兩種套接字 , 他們是數(shù)據(jù)報套接字 (D atagram Socket 和流式套接字 (Stream Socket , 這兩種套接字所傳送的數(shù)據(jù)類型是不同的 , 因而其使用方法和 相應(yīng)的程序設(shè)計模型也是不同的 。 本系統(tǒng)中采用的是流式套接字 。 流式套接字可以將數(shù)據(jù)按順序無重 復(fù)的發(fā)送到目的地 , 采用的是 TCP 傳輸控制協(xié)議 2。W in sock 網(wǎng)絡(luò)編程有兩種實現(xiàn)方法 。一種是直接采用 W in 32A P I 的一組套接字函數(shù) 。這種方法具 有控制靈活的特點 , 但是不易于編程 。另一種方法是采用已經(jīng)將 W in sock 通訊協(xié)議封裝好的類來編程 。 D elph

4、i 編程語言已經(jīng)將其封裝為 T serverSocket 和 T clien tSocket 類 , 本系統(tǒng)就是基于這兩個類的基礎(chǔ) 上設(shè)計實現(xiàn)的 。1系統(tǒng)結(jié)構(gòu)及功能實現(xiàn)本系統(tǒng)采用了 C S 模式 , W indow s N T 操作系統(tǒng)作為開發(fā)平臺 。在局域網(wǎng)內(nèi)設(shè)置一個服務(wù)器 , 其他 的機器作為客戶機 。 服務(wù)器端需要安裝主控程序 , 客戶端需要安裝應(yīng)答程序 。 服務(wù)器程序主要分為 :計 費模塊和控制模塊 , 而客戶端程序主要由應(yīng)答模塊組成 。 計費模塊主要包括費用結(jié)算 、 費用管理 ; 控制模 塊主要包括各種信息的控制 , 在服務(wù)器上的控制模塊是主控端 , 而客戶端的應(yīng)答程序則是被控端 ,

5、 完成 控制端發(fā)送出來各種控制信息 。計費模塊主要按照費率計算從客戶機開通到結(jié)算的時候所花費的費用 , 費用管理主要是對所有的 客戶機所消費費用的統(tǒng)計 , 并可以完成結(jié)算賬單打印的功能 。 主控模塊主要負責發(fā)送各種信息或控制命 令 , 而被控端主要完成解析執(zhí)行的功能 。本系統(tǒng)是采用 D elph i 封裝好的 W in sock 類實現(xiàn)系統(tǒng)的開發(fā) 。 采用這種方式不需要我們考慮到 TCP 底層通信的協(xié)議問題 , 只需按照 T serverSocket 和 T clien tSocket 提供的方法和屬性來編程即收稿日期 :2003210220作者簡介 :朱玉璽 (19622 , 男 , 黑龍江

6、方正人 , 佛山科學技術(shù)學院副教授 , 碩士 , 主要從事分布式數(shù)據(jù)庫應(yīng)用研究 、 人工智 能及應(yīng)用研究 。 可 , 但是在具體實現(xiàn)的時候我們考慮到主控方的信息要由被控方解析執(zhí)行 , 因此我們有必要在底層通信 的基礎(chǔ)上制定適合本系統(tǒng)的應(yīng)用協(xié)議 。1. 1應(yīng)用協(xié)議的制定應(yīng)用協(xié)議對控制模塊來講是至關(guān)重要的 , 只有首先制定好應(yīng)用協(xié)議才可以對控制信息進行封裝和按照規(guī)則解析執(zhí)行 。 本系統(tǒng)中 , 制定了如圖一所 示的應(yīng)用協(xié)議規(guī)則 。 IP 地址 信息標識 實際信息 結(jié)束標志 圖 1應(yīng)用協(xié)議示意圖 IP 地址記錄了發(fā)送信息的客戶機或服務(wù)器的網(wǎng)絡(luò)地址 , 共占 15位 , 信息標識用來標識各種信息 , 我

7、們規(guī)定服務(wù)器發(fā)送給客戶機的信息以 “ S ” 開始 , 客戶機傳遞給服務(wù)器的信息以 “ C ”開始 , 例如 , SCOM 表示是服務(wù)器發(fā)送給客戶機的控制信息 。 信息標識共占 4位 。 , 是從第 20位開始 的信息主體內(nèi)容 。 結(jié)束標志 , 用來確定信息結(jié)束的標識 1“ ” 符號來表示 信息結(jié)束 。 , 則將信息解析出來 , 。(1 SCOM 。 , 、 解鎖 、 關(guān)閉計算機 、 重新啟動計算機 等 。 SCOM 。 例如服務(wù)器發(fā)送給客戶機的某一條信息如下 :210. 46. 141. 7733LOCK (其中 , 3代表空格 客戶端接收到這條信息 , 首先 , 將從第 16位起 取出 4

8、位 , 即 SCOM , 接著取出第 20位之后的所有信息 , 并將隨后的結(jié)束標識信息 “ ” 去掉 , 等到服務(wù) 器發(fā)送過來的具體控制命令 LOCK , 那么系統(tǒng)將轉(zhuǎn)到控制命令執(zhí)行部分執(zhí)行鎖定的操作 ;(2 STXT 。 服務(wù)器發(fā)送給客戶機的文本信息 , 需要顯示在客戶機上的屏幕上 。 例如服務(wù)器發(fā)送給客 戶機的信息如下 :210. 46. 141. 7733STXT 請保存信息 , 之后計算機將要關(guān)閉 。 客戶機接收到這樣的 信息 , 則解析出 STXT 之后 , 將第 20位之后 “ ” 之前的信息顯示在屏幕上 ;(3 SB I L 。 服務(wù)器發(fā)送給客戶機的費用信息 , 用來提示客戶機當

9、前已經(jīng)使用的費用 , 需要顯示在用 戶屏幕上的信息 ;(4 CTXT 。 客戶端發(fā)送給服務(wù)器的文本信息 , 作為客戶端反饋給服務(wù)器的信息 , 可以顯示在服務(wù)器 的屏幕上 , 用法與 STXT 基本上相同 。1. 2功能實現(xiàn)在服務(wù)器端我們采用了 T serverSocket 對象而在客戶端我們采用了相對應(yīng)的 T clien tSocket 對象 。 服務(wù)器和客戶端均可以執(zhí)行信息的發(fā)送和接收功能 。當 將 客 戶 端 的 T clien tSocket 對 象 的 A ddress 屬 性 設(shè) 置 為 服 務(wù) 器 的 IP 地 址 , Po rt 屬 性 和 T serverSocket 的 Po

10、 rt 屬性設(shè)置為相同 , 那么客戶端就可以通過 T clien tSocket 所繼承的 Socket 類的 SendT ex t , SendStream 方法發(fā)送文本信息或者流信息 , 也可以通過 T clien tSocket 的 O nR ead 方法接收 信息 。 同樣在服務(wù)器方的 T serverSocket 也可以通過 SendT ex t , SendStream 方法發(fā)送各種信息 , 并且也 可以通過 O nR ead 方法接收客戶端發(fā)送的信息 。 如圖 2所示 。圖 2信息發(fā)送與接收2關(guān)鍵技術(shù)由于本系統(tǒng)在設(shè)計開發(fā)的過程中涉及到兩個獨立程序的通信 、 協(xié)調(diào)的問題 , 也涉及

11、到了一些較難解 決的問題 , 下面將針對這些關(guān)鍵技術(shù)做出討論 。83佛山科學技術(shù)學院學報 (自然科學版 第 22卷 2. 1進程優(yōu)先級的處理 遠程控制經(jīng)常要處理的問題就是跨平臺命令的執(zhí)行問題 。 在本系統(tǒng)中集中體現(xiàn)在服務(wù)器對客戶機 的控制 關(guān)機 、 重新啟動等問題上 。 而這些問題在 W indow s 9X 系統(tǒng)中我們可以直接調(diào)用 A P I 函數(shù) 就可以解決 , 但是我們的系統(tǒng)通常是 W indow s N T , W indow s 2000等具有較好的進程管理的操作系統(tǒng) 。 在這些系統(tǒng)中 , 要執(zhí)行某些命令就涉及到進程的優(yōu)先級的問題 , 不是通過簡單調(diào)用相應(yīng)的 A P I 函數(shù)就 可以

12、解決的 。 為了達到控制的目的 , 首先我們要將要執(zhí)行的進程的優(yōu)先級置為最先 , 然后再調(diào)用相應(yīng)的 A P I 函數(shù) , 才能達到服務(wù)器控制遠程客戶端的目的 。 下面是在 D elph i 中設(shè)置優(yōu)先級的方法 。L ookup P rivilegeV alue (n il , SeShu tdow nP rivilege , tkp . P rivileges 0. L u id ;tkp . P rivilegeCoun t :=1;tkp . P rivileges 0. A ttribu tes :=SEPR I V I L EGE ENABL ED ;R etu rnL ength :

13、=0;A dju stTokenP rivileges (hToken , FAL SE , rnL ;執(zhí)行這段代碼之后 , it W T , 0 (重新啟動計算機 或者 Ex it W indow sEx _8 了 。2. 2系統(tǒng) 、 信息的被控端 , 所以它的界面不應(yīng)該總是 占據(jù)客戶機的窗口 , 只有在必要的時候才占據(jù)用戶的視野 , 因此 , 有必要將客戶端窗口縮為程序圖標放 置在屏幕的右下角的狀態(tài)欄中 , 當鼠標移到這個小圖標上時會出現(xiàn)一些提示信息 、 單擊該小圖標會執(zhí)行 一些特定的操作 。 例如 , 單擊鼠標右鍵的時候可以將當前的應(yīng)用程序關(guān)閉等 。 “托盤” 程序是本系統(tǒng)實現(xiàn) 的一個技

14、巧 , 不是必不可少的 , 但是這種方法對于其他的系統(tǒng)也有借鑒作用 , 因此下面我們將介紹一種 “系統(tǒng)托盤” 程序在 D elph i 中實現(xiàn)的方法 。在 Shell 32. DLL 動態(tài)鏈接庫中包括一個函數(shù) Shell N o tify IconA (可通知 W indow s 在任務(wù)欄右 下角加入一個小圖標 , 下面就是調(diào)用此函數(shù)來實現(xiàn) “系統(tǒng)托盤” 程序的具體實例 。 n tida . cbSize :=sizeof (tno tifyicondataa ;n tida . uF lags :=n if icon +n if ti p +n tida . cbSize :=sizeof

15、(tno tifyicondataa ;n tida . w nd :=handle ;n tida . u I D :=iid ;n tida . uF lags :=n if icon +n if ti p +n if m essage ;n tida . uCallback M essage :=m ou sem sg ;n tida . h Icon :=A pp licati on . Icon . handle ;n tida . szT i p := Icon ;shell _no tifyicona (N I M A dd , n tida ;其中 n tida 定義為 T n

16、o tify IcondataA 類的對象 。 Iid 為用戶自己定義的數(shù)值 。并且需要在 U SES 接 口單元中加入 Shell A P I 接口單元 。通過以上的方法就可以在系統(tǒng)狀態(tài)添加一個程序圖標 。之后就可以 利用鼠標消息事件來實現(xiàn)原程序窗口的再現(xiàn) , 此段程序較簡單在此不再贅述 。3結(jié)論In ternet 的快速發(fā)展 , 使得網(wǎng)絡(luò)管理的重要性日益突出 , 網(wǎng)絡(luò)安全 、 遠程控制都是需要我們深入研 究的內(nèi)容 。 本系統(tǒng)是針對國內(nèi)某大型企業(yè)的一個局域網(wǎng)而設(shè)計的 , 且限于設(shè)備管理 、 計費子系統(tǒng) 。 本文 主要介紹了系統(tǒng)的遠程控制及應(yīng)用協(xié)議的制定及實現(xiàn) 。 具體采用了 Socket 方

17、式實現(xiàn)跨平臺的局域網(wǎng)管 理功能 。93第 1期朱玉璽等 :基于 Socket 的局域網(wǎng)管理系統(tǒng)的設(shè)計與實現(xiàn)參考文獻 :1謝安明 , 邵美珍 . 使用 Socket 設(shè)計網(wǎng)絡(luò)通訊程序 J . 信息工程大學學報 , 2001, (1 :32.2馮晨華 , 徐捷 , 陳晟 . 基于 W indow s 環(huán)境的 TCP IP 網(wǎng)絡(luò)通信的實現(xiàn) J . 計算機應(yīng)用研究 , 1997, (6 :37238. 【責任編輯 :任小平】A design i m plem en ta tion ofLAN managem en t system ba sed on Socket ZHU Yu 2x i 1, L I

18、 Ya 2shu 2(1. Computer D epartm ent , Fo shan U ,2. Computer D epartm ent , Beijing A rch , Ch ina Abstract :T h is p s to the destinati on w ithou t repetiti on , w h ich is based on socket u sing flow socket and TCP tran s m issi on con tro l . In th is w ay , the m anagem en t of LAN is availab l

19、e . T he au tho rs also m ake p rofitab le p ractice to the resou rce arrangem en t and the m anagem en t effect on LAN .Key words :Socket ; LAN m anagem en t ; A P I ; C S m ode(上接第 15頁 Appl ica tion s of the optica l wavelet tran sform to the edge detection of i m agesX IE J ia 2n ing 1, CH EN W ei 2cheng 1, ZHAO J ian 2lin 2, CH EN Guo 2jie 1, CAO H u i 1 (1. Physics D epartm ent , Fo shan U niversity , Fo shan 528000, Ch ina ;2. D epartm ent of A pp lied Physics , N o

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論