




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、遠(yuǎn)程控制軟件的設(shè)計(jì)與開發(fā),說(shuō)明: 1.需本答辯稿配套的程序及論文,可以訪問(wèn) 下載 2.有什么不明白的地方,可以聯(lián)系作者本人QQ:513681372,編寫目的,遠(yuǎn)程控制軟件已經(jīng)使用很多年了,起初是為了讓PC用戶在離開辦公室的時(shí)候能訪問(wèn)其臺(tái)式PC硬盤中的信息,甚至可以通過(guò)其臺(tái)式PC訪問(wèn)企業(yè)網(wǎng)絡(luò)資源。今天,許多企業(yè)和增值分銷商正在把遠(yuǎn)程控制能力作為有效的技術(shù)支持工具。許多網(wǎng)絡(luò)管理員都采用這類軟件對(duì)局域網(wǎng)進(jìn)行管理或者在自己家更新自己網(wǎng)站的內(nèi)容。這類軟件對(duì)于出差在外的商務(wù)人員用處非常大,這樣他們可以隨時(shí)提取自己家里計(jì)算機(jī)中的數(shù)據(jù)和資料 .,學(xué)習(xí)意義,開發(fā)一個(gè)軟件系統(tǒng),從需求分析到流程圖的繪制及模塊的分析
2、,再到最后的數(shù)據(jù)庫(kù)設(shè)計(jì) 及代碼的編寫實(shí)現(xiàn)都要自己動(dòng)手一步一步的來(lái)解決完成,這個(gè)過(guò)程對(duì)于自己在大學(xué)所學(xué)的知識(shí)是一個(gè)非常好的檢驗(yàn),對(duì)動(dòng)手能力及思維能力也是一次非常好的鍛煉。希望通過(guò)此次的研究學(xué)習(xí),認(rèn)清自己的不足之處,不斷的去學(xué)習(xí)完善自己的理論知識(shí),逐步提高動(dòng)手能力,為以后的工作打下堅(jiān)實(shí)的基礎(chǔ)。,用戶需求分析,本系統(tǒng)的具體功能及其操作流程,是實(shí)際調(diào)研所得到的。具有一定的實(shí)用性和可用性,管理人員的負(fù)擔(dān).節(jié)省時(shí)間,提高工作效率。 權(quán)衡了現(xiàn)有的各種數(shù)據(jù)庫(kù)及其開發(fā)過(guò)程中的優(yōu)缺點(diǎn),我們選用了VC6.0這一專業(yè)化的面向?qū)ο蟮腃/S前臺(tái)應(yīng)用開發(fā)工具。,遠(yuǎn)程控制概念,遠(yuǎn)程控制軟件實(shí)際上是一種客戶機(jī)/服務(wù)器程序,服務(wù)
3、器程序安放在被控制的計(jì)算機(jī)端,客戶機(jī)安裝在控制端。在客戶端和服務(wù)器端都安裝成功之后,客戶端在網(wǎng)絡(luò)上搜尋已經(jīng)安裝了服務(wù)器的遠(yuǎn)程計(jì)算機(jī);然后,客戶端就發(fā)指令獲得服務(wù)器端的連接指令,兩臺(tái)PC建立起連接,就可以通過(guò)網(wǎng)絡(luò)的互連協(xié)議TCP/IP進(jìn)行遠(yuǎn)端控制。 遠(yuǎn)程控制的原理很簡(jiǎn)單:在本機(jī)上直接啟動(dòng)運(yùn)行的程序,擁有與使用者(客戶端)相同的權(quán)限。因此如果能夠啟動(dòng)服務(wù)器端的服務(wù)程序,就可以使用相應(yīng)的客戶端程序直接控制主機(jī)了。也就是說(shuō)客戶端就好比一個(gè)超級(jí)用戶,可以直接控制計(jì)算機(jī)。,系統(tǒng)功能簡(jiǎn)介,本系統(tǒng)實(shí)現(xiàn)以下內(nèi)容: (1) 實(shí)現(xiàn)使用WinSocket建立客戶端和服務(wù)器端連接。要想實(shí)現(xiàn)遠(yuǎn)程控制,首先就要實(shí)現(xiàn)遠(yuǎn)程的互
4、連。用WinSocket將客戶端和服務(wù)器端連接起來(lái)后,服務(wù)器端才可以得到控制端的信息。 (2) 控制端發(fā)送鍵碼。當(dāng)客戶端與服務(wù)器端連接好以后,客戶端要想控制服務(wù)器端的按鍵,必須要向服務(wù)器端發(fā)送與鍵盤按鍵對(duì)應(yīng)的鍵碼,服務(wù)器端得到了這個(gè)鍵碼后才可以做出按鍵的模擬。 (3) 實(shí)現(xiàn)服務(wù)器端模擬按鍵事件。服務(wù)器端在得到客戶端傳來(lái)的鍵碼后,根據(jù)鍵碼做出正確的按鍵模擬,實(shí)現(xiàn)控制遠(yuǎn)程按鍵的功能。,運(yùn)行環(huán)境,硬件環(huán)境: Pentium 或更高檔微機(jī),筆記本電腦; 運(yùn)行時(shí)內(nèi)存要求:2MB; 安裝所需硬盤 :5MB; 打印機(jī):可選 軟件環(huán)境: 中文Windows/2000/xp; 英文 Windows/2000/X
5、P;,系統(tǒng)流程圖,遠(yuǎn)程按鍵控制的實(shí)現(xiàn),使用Winsocket建立控制端和被控制端連接 首先,客戶端和服務(wù)器端都要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)套接字。接著,服務(wù)器調(diào)用bind()函數(shù)給套接字分配一個(gè)公認(rèn)的端口。這樣,客戶端和服務(wù)器端就使用同樣的端口來(lái)表示服務(wù)器套接字。一旦服務(wù)器將公認(rèn)端口分配給了套接字,客戶端和服務(wù)器端就都能使用sendto()和recvfrom()來(lái)發(fā)送和接收數(shù)據(jù)報(bào)直到完成傳遞。然后調(diào)用close socket來(lái)關(guān)閉套接字。,遠(yuǎn)程按鍵控制的實(shí)現(xiàn),1.初始化Winsock WSAStartup()函數(shù)的原型聲明如下: Int WSAStartup (WORD wVersionRequested,
6、 LPWSADATA lpWSAData ); 該函數(shù)共有兩個(gè)參數(shù)。一個(gè)參數(shù)是一個(gè)WORD(雙字節(jié))型數(shù)值,他指應(yīng)用程序中要使用的WinSock規(guī)范的最高版本。其中主版本在低位字節(jié),副版本號(hào)在高位字節(jié)。第二個(gè)參數(shù)指一個(gè)指向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)程按鍵控制的實(shí)現(xiàn),2.創(chuàng)建套接字 任何應(yīng)用程序在使用套接字之前,首先必須擁有一個(gè)套接字,系統(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ù)報(bào)套接字。 參數(shù)protocol說(shuō)明該套接字使用的特定協(xié)議,如果該參數(shù)設(shè)為0。則表示使用默認(rèn)的連接模式。 Socket()函數(shù)根據(jù)這3個(gè)參數(shù)建立一個(gè)套接字,并將相應(yīng)的資源分配給它,同時(shí)返回一個(gè)整型套接字句柄。,遠(yuǎn)程按鍵控制的實(shí)現(xiàn),3.指定本地地址 當(dāng)一個(gè)套接字用socket()創(chuàng)建后,存在一個(gè)名字空間(地址簇),但它沒(méi)有被命名。Bind()將套接字地址(包括本地主機(jī)地址和本地端口地址)與所創(chuàng)建的套接字編號(hào)聯(lián)系起來(lái),即將名字賦予套接字。bind()函數(shù)的原型聲明如下: int PASCAL FAR
9、bind (SOCKER s,const struct sockaddr FAR *name,int namelen); bind()函數(shù)共有3個(gè)參數(shù),其中參數(shù)s是由socket()函數(shù)調(diào)用返回的并且未作連接的套接字句柄。 參數(shù)name是賦給套接字s的本地地址(名字),其長(zhǎng)度可變,結(jié)構(gòu)隨通信域的不同而不同。 參數(shù)namelen指參數(shù)name 的長(zhǎng)度。 如果調(diào)用成功,bind ()函數(shù)返回0;否則,返回SOCKER_ERROR。,遠(yuǎn)程按鍵控制的實(shí)現(xiàn),4.建立套接字連接 建立套接字連接需要使用兩個(gè)函數(shù)。即connect()與accept()。這兩個(gè)函數(shù)用于完成一個(gè)完整相關(guān)的建立,其中connect
10、()用于建立連接。無(wú)連接的套接字進(jìn)程也可以調(diào)用connect(),但這時(shí)在進(jìn)程之間沒(méi)有實(shí)際的報(bào)文交換,調(diào)用將從本地操作系統(tǒng)直接返回。這樣做的優(yōu)點(diǎn)是程序員不必為每一數(shù)據(jù)指定目的地址,而且如果收到一個(gè)數(shù)據(jù)報(bào),其目的端口未與任何套接字建立“連接”,便能判斷該端口不可操作。Accept()用于使服務(wù)器等待來(lái)自某客戶進(jìn)程的實(shí)際連接。 Connect()函數(shù)的原型聲明如下: int PASCAL FAR connect(SOCKER s,const struct sockaddr FAR *name,int namelen); Connect()函數(shù)共有3個(gè)參數(shù),其中參數(shù)s指要建立連接的本地套接字句柄。
11、參數(shù)name指對(duì)方套接字地址結(jié)構(gòu)的指針,對(duì)方套接字地址長(zhǎng)度由參數(shù)namelen說(shuō)明。 如果調(diào)用成功,connect()函數(shù)返回0;否則,返回SOCKET_ERROR。,遠(yuǎn)程按鍵控制的實(shí)現(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ù)共有兩個(gè)參數(shù),其中參數(shù)s標(biāo)識(shí)一個(gè)本地已建立但尚未連接的套接字句柄,服務(wù)器愿意從它上面接受請(qǐng)求。 參數(shù)backlog
12、表示請(qǐng)求連接隊(duì)列的最大長(zhǎng)度,用于限制排隊(duì)請(qǐng)求的個(gè)數(shù)。目前允許的最大值為5。 如果調(diào)用成功,listen()函數(shù)返回零;否則,返回SOCKET_ERROR。,遠(yuǎn)程按鍵控制的實(shí)現(xiàn),6 關(guān)閉套接字 closesocket()關(guān)閉套接字s,并釋放分配給該套接字的資源;如果s涉及一個(gè)打開的TCP連接。則該連接被釋放。Closesocket()函數(shù)的原型聲明如下: BOOL PASCAL FAR closesocket(socker s); 該函數(shù)只有一個(gè)參數(shù)s,它指待關(guān)閉的套接字句柄。 如果調(diào)用成功,closesoker()返回零;否則,返回SOCKET_ERROR。,系統(tǒng)實(shí)現(xiàn)界面,更多界面,請(qǐng)參見(jiàn)源程序,結(jié) 論,通過(guò)幾月的系統(tǒng)分析、設(shè)計(jì)、開發(fā),系統(tǒng)編碼完成。在系統(tǒng)的開發(fā)過(guò)程中,以前學(xué)習(xí)感到很抽象的課程,如軟件工程、數(shù)據(jù)庫(kù)原理、面向?qū)ο蟪绦蛟O(shè)等變得清晰起來(lái)。感覺(jué)到這幾門理論課程的重要性。 以前做一些應(yīng)用的系統(tǒng)開發(fā),隨意性大,想到那里做到那里,沒(méi)有統(tǒng)一的規(guī)劃,一旦系統(tǒng)成型,出現(xiàn)錯(cuò)誤返工修改工作量大,最終的系統(tǒng)可靠性不高。另外一直以來(lái),進(jìn)行程序設(shè)計(jì)均采用結(jié)構(gòu)化開發(fā)方法,對(duì)系統(tǒng)的全貌難以在開發(fā)前看到,導(dǎo)致實(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省濱??h聯(lián)考2025年高中畢業(yè)生第二次復(fù)習(xí)統(tǒng)一檢測(cè)試題生物試題含解析
- 山西省晉城市2024-2025學(xué)年初三下學(xué)期階段性測(cè)試(四)英語(yǔ)試題含答案
- 江蘇省江都國(guó)際校2024-2025學(xué)年初三考前模擬(一)生物試題含解析
- 合同代理與售后服務(wù)2025年
- 山東省濟(jì)南市商河縣2024-2025學(xué)年初三第一次(5月)聯(lián)考物理試題理試題含解析
- 智慧農(nóng)業(yè)農(nóng)業(yè)科技園區(qū)的未來(lái)方向
- 江蘇省南通市海安市十校聯(lián)考2024-2025學(xué)年初三下學(xué)期周練九生物試題含解析
- 住宅購(gòu)房誠(chéng)意金合同正式版
- 版?zhèn)€人住宅租賃合同
- 四川省瀘州市合江縣2024-2025學(xué)年七年級(jí)下學(xué)期期中考試地理試題(含答案)
- 新教科版五下科學(xué)1.5《當(dāng)環(huán)境改變了》教學(xué)設(shè)計(jì)
- 鄭州工業(yè)應(yīng)用技術(shù)學(xué)院?jiǎn)握小堵殰y(cè)》參考試題庫(kù)(含答案)
- 提醒納米顆粒對(duì)環(huán)境的影響
- 血液科護(hù)士的造血干細(xì)胞移植護(hù)理
- HGE系列電梯安裝調(diào)試手冊(cè)(ELS05系統(tǒng)SW00004269,A.4 )
- 護(hù)理教學(xué)查房組織與實(shí)施
- 小學(xué)五年級(jí)家長(zhǎng)會(huì)課件
- 機(jī)動(dòng)車檢測(cè)站儀器設(shè)備日常維護(hù)和保養(yǎng)作業(yè)指導(dǎo)書
- 立式數(shù)控銑床工作臺(tái)(X軸)設(shè)計(jì)
- 萬(wàn)千心理情緒障礙跨診斷治療的統(tǒng)一方案:治療師指南
- 藏毛竇護(hù)理業(yè)務(wù)查房課件
評(píng)論
0/150
提交評(píng)論