【正文】
定到一個已知地址。 Char sin_zero[8]。原始套接字一種通信,允許你把其他協(xié)議封裝在 U D P數(shù)據(jù)包中 . 5 S O C K A D D R _ I N 服務器打算監(jiān)聽接入客戶機請求時,也必須指定一個 I P地址和一個端口號。套接字的類型可以是下面五個值 : S O C K _ S T R E A M、 S O C K _ D G R A M、 S O C K _ S E Q PA C K E T、 S O C K _ R AW和 S O C K _ R D M。 3 WSACleanup 在結束 Wi n s o c k庫,而且不再需要調(diào)用任 何 Wi n s o c k函數(shù)時,附帶例程會卸載這個庫,并釋放資源 4 WSASocket SOCKET WSASocket( int af,int type,iprotocol,LPWSAPROTOCOL,GROUP G,DWORD dwflags)。如果需要 Winsock ,指定這個值( 0 x 0 2 0 2)或使用宏 M A K E W O R D ( 2 , 2 )即可。 2 WSAStartup 在可以調(diào)用一個 Wi n s o c k函數(shù)之前,必須先加載一個版本正確的 Wi n s o c k庫。 多態(tài)性 - 組件的引用和類集會涉及到其它許多不同類型的組件,而且引用組件所產(chǎn)生的結果得依據(jù)實際調(diào)用的類型。 OOP 主要有以下的概念和組件: 組件 - 數(shù)據(jù)和功能一起在運行著的計算機程序中形成的單元,組件在 OOP 計算機程序中是模塊和結構化的基礎。 OOP 簡介 面向對象編程 ( Object Oriented Programming, OOP,面向對象程序設計)是 一種 計算機編程架構。 F I N 控制標志表示發(fā)起關閉的這一方不再發(fā)送數(shù)據(jù)。如果面向連接的協(xié)議不支持從容關閉,只要其中一方關閉了通信信道,都會導致連接立四川理工學院畢業(yè)設計(論文) 21 即中斷,數(shù)據(jù)丟失,接收端不能讀取數(shù)據(jù)這些情況出現(xiàn)。而前面討論過的網(wǎng)絡游戲示例之類的應用,數(shù)據(jù)報簡直是為它們量身定做的:每個玩家都可利用數(shù)據(jù)報周期性地向別的玩家發(fā)送他/她在 游戲中的位置。為什么這樣反而降低了錯誤檢查的速度呢?原來這便是無連接協(xié)議一般不保證數(shù)據(jù)完整性和次序性,而面向連接的協(xié)議卻能做到的原因。在面向連接的通信中,如果你一直試圖在通信雙方建立一個顯式通信信道,一般希望協(xié)議能夠保證數(shù)據(jù)的完整性和次序性。不具備可靠性的協(xié)議則不能保證每個字節(jié)都能到達接收端,同樣不能保證數(shù)據(jù)的完整性。 如果接收端執(zhí)行一次 2 5 6 字節(jié)緩沖區(qū)的讀取,系統(tǒng)馬上就會返回 2 2 4個字節(jié)。發(fā)送小數(shù)據(jù)包不僅沒有多少意義,而且還會徒增錯誤檢查和確認,相當煩人。是否將各個獨立的數(shù)據(jù)包累積在一起受許多因素的影響,比 如最大傳輸單元或 N a g l e 算法。在進程請求處理大量數(shù)據(jù)時,系統(tǒng)會在不溢出為客戶請求提供的緩沖區(qū)這一前提下,盡量返回更多的數(shù)據(jù)。大家要知道“基于流的協(xié)議”這一術語常用來指代附加特性。接收端不能得到更多的消息,僅此而已。一旦通信方?jīng)Q定不需要發(fā)送數(shù)據(jù),它就會發(fā)出一個 F I N控制標志,并帶有發(fā)起方確認的 A C K控制標志。使用 T C P協(xié)議,連接雙方都必須執(zhí)行一次關閉,以便完全中斷連接。 在斷開連接的過程中, TCP使用從容關閉。除此以外,大部分面向連接的協(xié)議為保證投遞無誤,可能會因為執(zhí)行額外的計算來驗證正確性,因此,進一步增加開支。是面向連接的服務,提供了更高的安全性。如前所述,在一般情況下,在選擇菜單名字后面跟著省略號( ...)的菜單項通常會彈出一個對話框??梢杂檬髽诉x中滾動條的箭頭上下卷滾(選中垂直滾動條時)或水平卷滾(選中水平滾動條時)客戶區(qū)的內(nèi)容。如 “ 粘貼( P) CTRL+V” ,就表示粘貼操作的加速鍵是 CTRL+V,按下 CTRL+V 就執(zhí)行粘貼操作。 一般的,以 “...” 結尾的菜單項文本表明選擇該項時會彈出一個對話框,讓用戶輸入 信息,然后執(zhí)行操作,如 “ 文件 打開 ...” 。在標題欄上按下鼠標器左 鍵可以拖動并移動該窗口,按右鍵彈出窗口系統(tǒng)菜單 王蓬超: 遠程桌面監(jiān)控系統(tǒng)開發(fā) 16 菜單欄 菜單欄位于標題欄下方,橫跨屏幕,在它上面列出了應用程序所支持的命令,菜單欄中的項是命令的主要分類,如文件操作、編輯操作。系統(tǒng)菜單提供標準的應用程序選項,包括: Restore(還原窗口原有的大小 ), Move(使窗口可以通過鍵盤上的光標鍵來移動其位置 ), Size(使用光標鍵調(diào)整窗口大小 ), Minimize(將窗口縮成圖標 ), Maximize(最大化:使窗口充滿整個屏幕 )和 Close(關閉窗口 )。 四川理工學院畢業(yè)設計(論文) 15 圖表 35 邊框 絕大多數(shù)窗口都有一個邊框,用于指示窗口的邊界。它是屏幕上與一個應用程序相對應的矩形區(qū)域,是用戶與產(chǎn)生該窗口的應用程序之間的可視界面。 USER 為所有的用戶界面對象提供支持,它用于接收和管理所有輸入消息、系統(tǒng)消息并把它們發(fā)給相應的窗口的消息隊列。而在 Windows 下,由于允許多個任務同時運行,應 用程序的輸入輸出是由 Windows 來統(tǒng)一管理的。 3 系統(tǒng)消息:對程序化的事件或系統(tǒng)時鐘中斷作出反應。這一類消息首先放在系統(tǒng)消息隊列中,然后由 Windows 將它們送入應用程序消息隊列中,由應用程序來處理消息。它的框圖如圖 3- 3 所示 : 圖表 32 圖表 33 事件驅動圍繞著消息的產(chǎn)生與處理展開, 一條消息是關于發(fā)生的事件的消息。 事件驅動程序設計是一種全新的程序設計方法,它不是由事件的順序來控制,而是由事件的發(fā)生來控制,而這種事件的發(fā)生是隨機的、不確定的,并沒有預定的順序,這樣就允許程序的的用戶用各種合理的順序來安排程序的流程。一個程序是一系列預先定義好的操作序列的組合,它具有一定的開頭、中間過程和結束。在制作 Windows 應用程序時, 編譯器還要為引出函數(shù)生成正確的入口和出口代碼。 但是,應用程序資源只是定義了資源的外觀和組織,而不是其功能特性。 ,有利于軟件的國際化:由于資源文件獨立于應用程序設計,使得在修改資源文件時(如調(diào)整對話框大小、對話框控制位置),可以不修改源程序,從而簡化了用戶界面的設計 。 :將位圖、圖標、字符串等按資源文件方式組織便于統(tǒng)一管理和重用。資源編譯使應用程序可以讀取對象的二進制映象和具體數(shù)據(jù)結構,這樣可以減輕為創(chuàng)建復雜對象所需要得程序設計工作。注意這里說的資源不同與前面提到的資源,這里的資源是應用程序所能夠使用的一類預定義工具中的一個對象,包括:字符串資源、加 速鍵表、對話框、菜單、位圖、光標、工具條、圖標、版本信息和用戶自定義資源等。 Windows 應用程序組成 ,CPP 源程序文件:源程序文件包含了應用程序的數(shù)據(jù)、類、功能邏輯模塊(包括事件處理、用戶界面對象初始化以及一些輔助例程)的定義。程序員必須在所謂的資源描述文檔 .RC 中找到他們。 四川理工學院畢業(yè)設計(論文) 9 WIN32 應用程序 說明 WINDOWS 程序開發(fā)流程為程序代碼和 UI 資源,兩大部分。獲取被控端電腦屏幕的過程,實際上就是服務器端傳輸一副屏幕圖片到客服端的過程,這個過程 需要傳輸大量的數(shù)據(jù),這牽涉到如何對屏幕圖片數(shù)據(jù)進行壓縮??刂频倪^程一般是先在被控端電腦上執(zhí)行服務器端程序,然后在控制端電腦執(zhí)行客服端程序,與服務器端建立一個特殊的遠程服務,然后通過這個遠程服務,使用各種遠程控制功能發(fā)送遠程控制命令,控制服務器端的各種應用程序的運行。當操作者 使用主控端電腦時,就如同坐在被控端電腦的屏幕前一樣,可以啟動啟動被控端的應用程序,可以使用被控端電腦的文件資料,甚至可以利用被控端電腦的外部打印設備和通信設備進行打印和訪問互聯(lián)網(wǎng),就像利用遙控器遙控電視機一樣。 王蓬超: 遠程桌面監(jiān)控系統(tǒng)開發(fā) 8 第 3章 概要設計 和詳細設計 在討論遠程監(jiān)控的話題之前,必須明確什么 是遠程監(jiān)控系統(tǒng) 技術。網(wǎng)絡流量的問題是造成所有通信程序的不穩(wěn)定性的罪魁禍首。 所謂連接確認,是指當服務器端套接字監(jiān)聽到或者說接收到客戶端套接字的連接請求,它就響應客戶端套接字的請求,建立一個新的線程,把服務器端套接字的描述發(fā)給客戶端,一旦客戶端確認了此描述,連接就建立好了。 根據(jù)連接啟動的方式以及本地套接字要連接的目標,套接字之間的連接過程可以分為三個步驟:服務器監(jiān)聽,客戶端請求,連接確認。應用程序一般僅在同一類的套接字間進行通信。套接字存在于通信域中,通信域是為了處理一般的線程通過套接字通信而引進的一種抽象概念。 UDP雖然效率更高,但是有掉包的情況出現(xiàn),這是本方案所不允許的。 這樣用戶可以真正的實現(xiàn)遠程辦公。駕駛通過城市 去訪問 您的 公司的電腦帶著 高 燒 , 這 不是一個真正的好主意。但是因應系統(tǒng)建設的需要,我們必須給出一個清晰的合理的業(yè)務定義 ——需求分析就是一個比較合適的方法。 為什么會出現(xiàn)這種矛盾的情況呢?開發(fā)方說需求方的業(yè)務太復雜、變動太頻繁、業(yè)務與流程不規(guī)范;建設方說開發(fā)方的開發(fā)能力差,開發(fā)代價高,系統(tǒng)缺陷和錯誤多多。 應完成內(nèi)容 1).遠程控制模式架構,如基于主從模式; 2).遠程控制功能實現(xiàn),如開關機,遠程監(jiān)視; 3).遠程控制安全考慮; 4).遠程控制實現(xiàn)平臺與技巧; 王蓬超: 遠程桌面監(jiān)控系統(tǒng)開發(fā) 4 5).遠程控制軟件實現(xiàn),要求至少能在兩臺電腦上正常運行; 6).界面新穎友四川理工學院畢業(yè)設計(論文) 5 第 2章 需求分析 算機技術支持的業(yè)務運營支撐系統(tǒng)是隨著市場經(jīng)營的需要不斷得到完善和提高的。 四川理工學院畢業(yè)設計(論文) 3 主要任務 本軟件就是基于此而設計開發(fā)的,能實現(xiàn)以下的基本的遠程功能 : 1),查看被控制端的 桌面 2),查看被控制端的 桌面 內(nèi)容 3),強迫被控制端重新啟動或關機; 4),修改被控制端的系統(tǒng)配置文件; 5),直接執(zhí)行任何可執(zhí)行命令,打開應用程序 6),控制被控制端的屏幕,在本地直接操作被控制端計算機 任務 內(nèi)容 : 基于 Windows 的遠程控制軟件開發(fā)畢業(yè)設計的主要任務是要求做出從系統(tǒng)角度 計的遠程控制模式,并制作相應實用軟件。 當然,遠程 控制軟件是一把雙刃劍,有優(yōu)點就會有缺點,它存在比較嚴 重的安全隱患。在進行一臺電腦對多臺遠端電腦進行控制時,遠程控制軟件似乎更像一個局域網(wǎng)的網(wǎng)絡管理員,而提供遠程控制的遠程終端服務就像極了辦公室局域網(wǎng)的延伸。 遠 程控制軟件一般分兩個部分:一部分是客戶端程序 Client,另一部分是服務器端程序 Server,在使用前需要將客戶端程序安裝到主控端電腦上,將服務器端程序安裝到被控端電腦上。但是,隨著網(wǎng)絡的高度發(fā)展,電腦的管理及技術支持的需要,遠程操作及控制技術越來越引起人們的關注。當操作者使用主控端電腦控制被控端電腦時,就如同坐在被控端電腦的屏幕前一樣,可以啟動被控端電腦的應用程序,可以使用被控端電腦的文件資料,甚至可以利用被控端電腦的外部打印設備(打印機)和通信設備(調(diào)制解調(diào)器或者專線等)來進行打印和訪問互聯(lián)網(wǎng),就像你利用遙控器遙控電視的音量、變換頻道或者開關電視機一樣。為此,希望編寫一個適合于自己所在局域網(wǎng)的通訊程序。 eventdriven。一方面給用戶和網(wǎng)絡管理員工作帶了很大的方便,另一方面也給一些居心不良者留下后門。 當然, 遠程控制軟件是一把雙刃劍,有優(yōu)點就會有缺點,它存在比較嚴重的安 全 隱患。 關鍵詞: TCP;事件驅動;網(wǎng)絡;套接字 ; 四川理工學院畢業(yè)設計(論文) I Remote Desktop Monitor System ABSTRACT Remote Desktop Control displays the screen of another puter (via Inter or work) on your own screen. The program allows you to use your mouse and keyboard to control the other puter remotely. It means that you can work on a remote puter, as if you were sitting in front of it. Remote Desktop Control is so fast and fortable that you might even fet that you are working on a remote puter! The program allows you to work with different remote puters simultaneously, from anywhere in the , because of the NAT, PP