VC059遠(yuǎn)程控制軟件的設(shè)計與開發(fā)答辯稿.ppt_第1頁
VC059遠(yuǎn)程控制軟件的設(shè)計與開發(fā)答辯稿.ppt_第2頁
VC059遠(yuǎn)程控制軟件的設(shè)計與開發(fā)答辯稿.ppt_第3頁
VC059遠(yuǎn)程控制軟件的設(shè)計與開發(fā)答辯稿.ppt_第4頁
VC059遠(yuǎn)程控制軟件的設(shè)計與開發(fā)答辯稿.ppt_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、遠(yuǎn)程控制軟件的設(shè)計與開發(fā),說明: 1.需本答辯稿配套的程序及論文,可以訪問 下載 2.有什么不明白的地方,可以聯(lián)系作者本人QQ:513681372,編寫目的,遠(yuǎn)程控制軟件已經(jīng)使用很多年了,起初是為了讓PC用戶在離開辦公室的時候能訪問其臺式PC硬盤中的信息,甚至可以通過其臺式PC訪問企業(yè)網(wǎng)絡(luò)資源。今天,許多企業(yè)和增值分銷商正在把遠(yuǎn)程控制能力作為有效的技術(shù)支持工具。許多網(wǎng)絡(luò)管理員都采用這類軟件對局域網(wǎng)進(jìn)行管理或者在自己家更新自己網(wǎng)站的內(nèi)容。這類軟件對于出差在外的商務(wù)人員用處非常大,這樣他們可以隨時提取自己家里計算機中的數(shù)據(jù)和資料 .,學(xué)習(xí)意義,開發(fā)一個軟件系統(tǒng),從需求分析到流程圖的繪制及模塊的分析

2、,再到最后的數(shù)據(jù)庫設(shè)計 及代碼的編寫實現(xiàn)都要自己動手一步一步的來解決完成,這個過程對于自己在大學(xué)所學(xué)的知識是一個非常好的檢驗,對動手能力及思維能力也是一次非常好的鍛煉。希望通過此次的研究學(xué)習(xí),認(rèn)清自己的不足之處,不斷的去學(xué)習(xí)完善自己的理論知識,逐步提高動手能力,為以后的工作打下堅實的基礎(chǔ)。,用戶需求分析,本系統(tǒng)的具體功能及其操作流程,是實際調(diào)研所得到的。具有一定的實用性和可用性,管理人員的負(fù)擔(dān).節(jié)省時間,提高工作效率。 權(quán)衡了現(xiàn)有的各種數(shù)據(jù)庫及其開發(fā)過程中的優(yōu)缺點,我們選用了VC6.0這一專業(yè)化的面向?qū)ο蟮腃/S前臺應(yīng)用開發(fā)工具。,遠(yuǎn)程控制概念,遠(yuǎn)程控制軟件實際上是一種客戶機/服務(wù)器程序,服務(wù)

3、器程序安放在被控制的計算機端,客戶機安裝在控制端。在客戶端和服務(wù)器端都安裝成功之后,客戶端在網(wǎng)絡(luò)上搜尋已經(jīng)安裝了服務(wù)器的遠(yuǎn)程計算機;然后,客戶端就發(fā)指令獲得服務(wù)器端的連接指令,兩臺PC建立起連接,就可以通過網(wǎng)絡(luò)的互連協(xié)議TCP/IP進(jìn)行遠(yuǎn)端控制。 遠(yuǎn)程控制的原理很簡單:在本機上直接啟動運行的程序,擁有與使用者(客戶端)相同的權(quán)限。因此如果能夠啟動服務(wù)器端的服務(wù)程序,就可以使用相應(yīng)的客戶端程序直接控制主機了。也就是說客戶端就好比一個超級用戶,可以直接控制計算機。,系統(tǒng)功能簡介,本系統(tǒng)實現(xiàn)以下內(nèi)容: (1) 實現(xiàn)使用WinSocket建立客戶端和服務(wù)器端連接。要想實現(xiàn)遠(yuǎn)程控制,首先就要實現(xiàn)遠(yuǎn)程的互

4、連。用WinSocket將客戶端和服務(wù)器端連接起來后,服務(wù)器端才可以得到控制端的信息。 (2) 控制端發(fā)送鍵碼。當(dāng)客戶端與服務(wù)器端連接好以后,客戶端要想控制服務(wù)器端的按鍵,必須要向服務(wù)器端發(fā)送與鍵盤按鍵對應(yīng)的鍵碼,服務(wù)器端得到了這個鍵碼后才可以做出按鍵的模擬。 (3) 實現(xiàn)服務(wù)器端模擬按鍵事件。服務(wù)器端在得到客戶端傳來的鍵碼后,根據(jù)鍵碼做出正確的按鍵模擬,實現(xiàn)控制遠(yuǎn)程按鍵的功能。,運行環(huán)境,硬件環(huán)境: Pentium 或更高檔微機,筆記本電腦; 運行時內(nèi)存要求:2MB; 安裝所需硬盤 :5MB; 打印機:可選 軟件環(huán)境: 中文Windows/2000/xp; 英文 Windows/2000/X

5、P;,系統(tǒng)流程圖,遠(yuǎn)程按鍵控制的實現(xiàn),使用Winsocket建立控制端和被控制端連接 首先,客戶端和服務(wù)器端都要創(chuàng)建一個數(shù)據(jù)套接字。接著,服務(wù)器調(diào)用bind()函數(shù)給套接字分配一個公認(rèn)的端口。這樣,客戶端和服務(wù)器端就使用同樣的端口來表示服務(wù)器套接字。一旦服務(wù)器將公認(rèn)端口分配給了套接字,客戶端和服務(wù)器端就都能使用sendto()和recvfrom()來發(fā)送和接收數(shù)據(jù)報直到完成傳遞。然后調(diào)用close socket來關(guān)閉套接字。,遠(yuǎn)程按鍵控制的實現(xiàn),1.初始化Winsock WSAStartup()函數(shù)的原型聲明如下: Int WSAStartup (WORD wVersionRequested,

6、 LPWSADATA lpWSAData ); 該函數(shù)共有兩個參數(shù)。一個參數(shù)是一個WORD(雙字節(jié))型數(shù)值,他指應(yīng)用程序中要使用的WinSock規(guī)范的最高版本。其中主版本在低位字節(jié),副版本號在高位字節(jié)。第二個參數(shù)指一個指向WSDATA結(jié)構(gòu)的指針,該結(jié)構(gòu)的定義如下: Typedef struct WSAData WORD wVersion; WORD wHighVersion; Char szDescriptionWSADESCRIPTION_LEN+1; Char szSyestemStatusWSASYS_ STATUS_LEN+1; Unsigned short iMaxSocket; U

7、nsigned short iMaxUdpDg; Char FAR * IpVendorInfo; WSADATA,FAR * LPWSADATA,遠(yuǎn)程按鍵控制的實現(xiàn),2.創(chuàng)建套接字 任何應(yīng)用程序在使用套接字之前,首先必須擁有一個套接字,系統(tǒng)調(diào)用socket函數(shù)向應(yīng)用程序提供創(chuàng)建套接字的手段。Socket()函數(shù)的原型聲明如下: SOCKET PASCAL FAR socket (int af,int type ,int protocol); 該函數(shù)共有3參數(shù),其中參數(shù)af指定通信發(fā)生的區(qū)域。UNIX系統(tǒng)支持的地址簇有AF_UNIX,AF_INET,AF_NS等。而DOS,Windows中僅支

8、持AF_INET,它是網(wǎng)際網(wǎng)區(qū)域。 參數(shù)type 描述建立的套接字類型。也就是指流式套接字還是數(shù)據(jù)報套接字。 參數(shù)protocol說明該套接字使用的特定協(xié)議,如果該參數(shù)設(shè)為0。則表示使用默認(rèn)的連接模式。 Socket()函數(shù)根據(jù)這3個參數(shù)建立一個套接字,并將相應(yīng)的資源分配給它,同時返回一個整型套接字句柄。,遠(yuǎn)程按鍵控制的實現(xiàn),3.指定本地地址 當(dāng)一個套接字用socket()創(chuàng)建后,存在一個名字空間(地址簇),但它沒有被命名。Bind()將套接字地址(包括本地主機地址和本地端口地址)與所創(chuàng)建的套接字編號聯(lián)系起來,即將名字賦予套接字。bind()函數(shù)的原型聲明如下: int PASCAL FAR

9、bind (SOCKER s,const struct sockaddr FAR *name,int namelen); bind()函數(shù)共有3個參數(shù),其中參數(shù)s是由socket()函數(shù)調(diào)用返回的并且未作連接的套接字句柄。 參數(shù)name是賦給套接字s的本地地址(名字),其長度可變,結(jié)構(gòu)隨通信域的不同而不同。 參數(shù)namelen指參數(shù)name 的長度。 如果調(diào)用成功,bind ()函數(shù)返回0;否則,返回SOCKER_ERROR。,遠(yuǎn)程按鍵控制的實現(xiàn),4.建立套接字連接 建立套接字連接需要使用兩個函數(shù)。即connect()與accept()。這兩個函數(shù)用于完成一個完整相關(guān)的建立,其中connect

10、()用于建立連接。無連接的套接字進(jìn)程也可以調(diào)用connect(),但這時在進(jìn)程之間沒有實際的報文交換,調(diào)用將從本地操作系統(tǒng)直接返回。這樣做的優(yōu)點是程序員不必為每一數(shù)據(jù)指定目的地址,而且如果收到一個數(shù)據(jù)報,其目的端口未與任何套接字建立“連接”,便能判斷該端口不可操作。Accept()用于使服務(wù)器等待來自某客戶進(jìn)程的實際連接。 Connect()函數(shù)的原型聲明如下: int PASCAL FAR connect(SOCKER s,const struct sockaddr FAR *name,int namelen); Connect()函數(shù)共有3個參數(shù),其中參數(shù)s指要建立連接的本地套接字句柄。

11、參數(shù)name指對方套接字地址結(jié)構(gòu)的指針,對方套接字地址長度由參數(shù)namelen說明。 如果調(diào)用成功,connect()函數(shù)返回0;否則,返回SOCKET_ERROR。,遠(yuǎn)程按鍵控制的實現(xiàn),5.監(jiān)聽連接 建立連接之后,服務(wù)端套接字要調(diào)用listen()函數(shù),此調(diào)用用于面向連接服務(wù)器,表明它愿意接收連接。Listen()需在accept()之前調(diào)用,listen ()函數(shù)的原型聲明如下: int PASCAL FAR listen(SOCKET s, int backlog); 該函數(shù)共有兩個參數(shù),其中參數(shù)s標(biāo)識一個本地已建立但尚未連接的套接字句柄,服務(wù)器愿意從它上面接受請求。 參數(shù)backlog

12、表示請求連接隊列的最大長度,用于限制排隊請求的個數(shù)。目前允許的最大值為5。 如果調(diào)用成功,listen()函數(shù)返回零;否則,返回SOCKET_ERROR。,遠(yuǎn)程按鍵控制的實現(xiàn),6 關(guān)閉套接字 closesocket()關(guān)閉套接字s,并釋放分配給該套接字的資源;如果s涉及一個打開的TCP連接。則該連接被釋放。Closesocket()函數(shù)的原型聲明如下: BOOL PASCAL FAR closesocket(socker s); 該函數(shù)只有一個參數(shù)s,它指待關(guān)閉的套接字句柄。 如果調(diào)用成功,closesoker()返回零;否則,返回SOCKET_ERROR。,系統(tǒng)實現(xiàn)界面,更多界面,請參見源程序,結(jié) 論,通過幾月的系統(tǒng)分析、設(shè)計、開發(fā),系統(tǒng)編碼完成。在系統(tǒng)的開發(fā)過程中,以前學(xué)習(xí)感到很抽象的課程,如軟件工程、數(shù)據(jù)庫原理、面向?qū)ο蟪绦蛟O(shè)等變得清晰起來。感覺到這幾門理論課程的重要性。 以前做一些應(yīng)用的系統(tǒng)開發(fā),隨意性大,想到那里做到那里,沒有統(tǒng)一的規(guī)劃,一旦系統(tǒng)成型,出現(xiàn)錯誤返工修改工作量大,最終的系統(tǒng)可靠性不高。另外一直以來,進(jìn)行程序設(shè)計均采用結(jié)構(gòu)化開發(fā)方法,對系統(tǒng)的全貌難以在開發(fā)前看到,導(dǎ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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論