freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì)-文庫吧資料

2025-07-31 08:54本頁面
  

【正文】 WSAGetLastError()或者 CAsyncSocket::GetLastError()查看 Socket返回的錯誤,直到返回成功為止。所以 CAsyncSocket的派生類,只需要在這些虛函數(shù)里添加發(fā)送和接收的代碼。 CAsyncSocket::Create()有一個參數(shù)指明了 使用者想 要處理哪些 Socket事件, 使用者 關(guān)心的事件被指定以后,這個 Socket默認(rèn)就被用作了異步方式。所以說, API Hook并 不是什么特別不同的 Hook,它也需要通過基本的 Hook提高自己的權(quán)限,跨越不同進(jìn)程間訪問的限制,達(dá)到修改 API函數(shù)地址的目的 ?;镜姆椒ň褪峭ㄟ^ Hook“ 接網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì) 13 觸 ” 到需要修改的 API函數(shù)入口點(diǎn),改變它的地址指向新的自定義的函數(shù)。最初有些人對某些 API函數(shù)的功能不太滿意,就產(chǎn)生了如何修改這些 API,使之更好的服務(wù)于程序的想法,這樣 API Hook就自然而然的出現(xiàn)了。今天隨著控件, STL等高效編 程技術(shù)的出現(xiàn),API的使用概率在普通的用戶程序上就變得越來越小了。這也是 Hook 分為不同種類的原因。 Windows 系統(tǒng)下的編程,消息 Message 的傳遞是貫穿其始終的。基本的方法就是通過 hook“ 接觸 ” 到需要修改的 api函數(shù)入口點(diǎn),改變它的地址指向新 的自定義的函數(shù)。最初有些人對某些 api 函數(shù)的功能不太滿意,就產(chǎn)生了如何修改這些 api,使之更好的服務(wù)于程序的想法,這樣 API hook 就自然而然的出現(xiàn)了。今天隨著控件, stl 等高效編程技術(shù)的出現(xiàn), api 的使用概率在普通的用戶程序上就變得越來越小了。 API HOOK 技術(shù)并不是計(jì)算機(jī)病毒專有技術(shù),但是計(jì)算機(jī)病毒經(jīng)常使用這個技術(shù)來達(dá)到隱藏自己的目的 。這時鉤子函數(shù)即可以加工處理(改變)該消息,也可以不作處理而繼續(xù)傳遞該消息,還可以強(qiáng)制結(jié)束消息的傳遞。鉤子實(shí)際上是一個處理消息的 程序段,通過系統(tǒng)調(diào)用,把它掛入系統(tǒng)。 API HOOK技術(shù)簡介 Hook 是 Windows 中提供的一種用以替換 DOS 下 “ 中斷 ” 的系統(tǒng)機(jī)制,中文譯為 “ 掛鉤 ” 或 “ 鉤子 ” 。 網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì) 11 圖 Client/Server 的 通信流程 C/S 結(jié)構(gòu)的優(yōu)點(diǎn) Client/Server 技術(shù)在目前程序開發(fā)中得到了廣泛的應(yīng)用,這種技術(shù)的優(yōu)點(diǎn)在于它將處理工作按照一定的比例分配到客戶端和服務(wù)器上去執(zhí)行,這樣減少了網(wǎng)絡(luò)傳輸?shù)墓ぷ髁浚瑥亩侠淼乩昧速Y源,提高了應(yīng)用程序開發(fā)的效率。 TCP C/S 通信原理 TCP Client/Server 的通信原理如圖 所示,服務(wù)器端首先監(jiān)聽一個固定端口,客戶端再連接到服務(wù)端,此時服務(wù)端執(zhí)行 Accept 操作,以接受客戶端的連接。基于三層結(jié)構(gòu)的應(yīng)用系統(tǒng)不但具備了大型機(jī)系統(tǒng)穩(wěn)定、安全和處理能力高等特性,同時擁有開放系統(tǒng)成本低、可擴(kuò)展性強(qiáng)、開發(fā)周期短等優(yōu)點(diǎn)。 三層結(jié)構(gòu) 則 利用中間件將應(yīng)用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層三個不同的處理層次。 兩層結(jié)構(gòu), 它由兩部分構(gòu)成 , 前端是客戶機(jī),通常是 PC,主要完成用戶界面顯示,接受數(shù)據(jù)輸入,校驗(yàn)數(shù)據(jù)有效性,向后臺數(shù)據(jù)庫發(fā)請求,接受返回結(jié)果,處理應(yīng)用邏輯;后端是服務(wù)器,運(yùn)行 DBMS,提供數(shù)據(jù)庫的查詢和管理。 網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì) 10 系統(tǒng)架構(gòu)的模式 C/S 結(jié)構(gòu),即 Client/Server(客戶機(jī) /服務(wù)器 )結(jié)構(gòu), 軟件系統(tǒng)體系結(jié)構(gòu),通過將任 務(wù) 合理分配到 Client 端和 Server 端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。 ClassWizard 將在生成的處理函數(shù)中建議是否應(yīng)調(diào)用父類的消息處理函數(shù)及調(diào)用的次序。 網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì) 9 表 消息映射條目宏 消息類型 宏格式 說明 Windows消息 ON_WM_XXXX WM_XXXX 為Windows 消息名 命令 ON_COMMAND(ID,Function) ID 為命令標(biāo)識號, Function 為處理函數(shù)名 更新命令 ON_UPDATE_COMMAND_UI(ID,Function) ID 為命令標(biāo)識號, Function 為處理函數(shù)名 控制通知 ON_XXXX(ID,Function) ID 為控制標(biāo)識號, Function 為處理函數(shù)名 用戶定義消息 ON_MESSAGE(ID,Function) ID 為消息標(biāo)識號, Function 為處理函數(shù)名 用戶注冊消息 ON_REGISTERED_MESSAGE(ID,Function) ID 為消 息標(biāo)識號, Function 為處理函數(shù)名 通過 ClassWizard 在派生類中用同樣的原型定義處理函數(shù)并為該函數(shù)生成消息映射條目,然后由程序員編寫處理函數(shù)代碼,并在派生類中覆蓋了其父類的消息處理函數(shù)。 Windows 消息的處理函數(shù)在 CWnd 類中進(jìn)行了預(yù)定義,類庫以消息名為基礎(chǔ)定義這些處理函數(shù)的名稱,且 MFC 要求所有消息處理函數(shù)聲明為 afx_msg 類型。條目宏定義了類所處理的消息與其對應(yīng)的函數(shù)。在源代碼中 ,消息映射開始于 BEGIN_MESSAGE_MAP 宏,結(jié)束于 END_MESSAGE_MAP 宏,中間由一系列預(yù)定義的被稱為 “ 條目宏 ” 的宏組成。消息映射使應(yīng)用程序在接收到消息時調(diào)用對應(yīng)的消息處理函數(shù)來響應(yīng)和處理消息。消息處理函數(shù)是某些類(通常是窗口類)的成員函數(shù)和程序員在其中編寫響應(yīng)消息時應(yīng)進(jìn)行操作的代碼。其參數(shù)指定 了用戶接口的標(biāo)識號,如菜單項(xiàng)和按鈕等 ID 號。 網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì) 8 控制通知消息:控制或子窗口傳給父窗口的 WM_COMMAND 通知的消息。 Windows 系統(tǒng)消息: Windows 系統(tǒng)向窗口發(fā)送的消息,由窗口( Window) 或視圖( View)進(jìn)行響應(yīng)處理。消息的基本格式如下: Message wParam lParam Message是消息名稱; wParam是與消息相關(guān)的 Word 型參數(shù); lParam是與消息相關(guān)的 Long 型參數(shù)。這些操作由操作系統(tǒng)管理,操作系統(tǒng)檢測到操作事件后,便向相關(guān)的應(yīng)用程序發(fā)送消息,應(yīng)用程序響應(yīng)這些消息來完成用戶的操作。 MFC 的消息映射 在使用 Visual C++進(jìn)行 Win32 程序設(shè)計(jì)時,消息映射是一個非常重要的概念。簡單的說,文檔 /視圖結(jié)構(gòu)就是將數(shù)據(jù)和對數(shù)據(jù)的觀察或數(shù)據(jù)的表現(xiàn)(顯示)相分離。除封裝了大部分的 Win32 SDK 函數(shù)外, MFC 還提供了應(yīng)用程序本身的數(shù)據(jù)和操作及 ActiveX、 OLE、 Inter、WinSock、 DAO( Data Access Objects)、 ODBC( Open DataBase Connectivity)等操作類。 ? MFC 庫應(yīng)用程序框架有豐富的特性,如: Windows API 的 C++接口、通用的(非 Windows 所特有的)類、 “共用根對象 ”類層次結(jié)構(gòu)、流線式多文檔界面( MDI)應(yīng)用程序支持等。 MFC 封裝了 Win32 SDK 中的幾乎所有函數(shù),網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì) 7 能實(shí)現(xiàn) Win32 系統(tǒng)的任何功能。 ? 應(yīng)用程序框架生成的應(yīng)用程序使用了標(biāo)準(zhǔn)的結(jié)構(gòu),具有標(biāo)準(zhǔn)化的用戶接口,這對具有標(biāo)準(zhǔn)用戶界面的 Win32 程序來說,可以極大的減輕程序員的負(fù)擔(dān),使程序員不必過多地考慮界面,可把主要精力放在程序設(shè)計(jì)上,以提高程序設(shè)計(jì)的效率。使用 MFC 類庫構(gòu)建應(yīng)用程序具有以下優(yōu)點(diǎn) 。一般的類庫只是一種孤立的類的集合,用來嵌入在任何程序中,但是,應(yīng)用程序框架卻定義了程序的結(jié)構(gòu)。類庫是可在應(yīng)用程序中使用的有關(guān) C++類的集合。 應(yīng)用程序框架的一種定義是 提供一般應(yīng)用程序需要的全部面向?qū)ο筌浖M件的集成集合。 windows 作為一個提供功能強(qiáng)大的應(yīng)用程序接口 編程的操作系統(tǒng),的確方便了許多 程序員 ,傳統(tǒng)的win32 開發(fā)(直接使用 windows 的 接口函數(shù) API)對于程序員來說非常的困難,因?yàn)椋?API 函數(shù)實(shí)在太多了,而且名稱很亂,從零構(gòu)架一個窗口動輒就是上百行的代碼。 MFC不只是一個功能單純的 界面 開發(fā)系統(tǒng) ,它提供的類絕大部分用來進(jìn)行界面開發(fā) ,關(guān)聯(lián)一個窗口的動作 ,但它提供的類中有好多類不與一個窗口關(guān)聯(lián) ,即類的作用不是一個界面類 ,不實(shí)現(xiàn)對一個窗口對象的控制 (如創(chuàng)建 ,銷毀 ),而是一些在 Windows(用 MFC編寫的程序絕大部分都在 Windows 中運(yùn)行 )中實(shí)現(xiàn)內(nèi)部處理的類 ,如 數(shù)據(jù)庫 的管理類等 ,學(xué)習(xí)中最應(yīng)花費(fèi)時間的是消息和設(shè)備環(huán)境 ,對 C++和 MFC 的學(xué)習(xí)中最難的部分是指針 ,C++面向?qū)ο蟪绦蛟O(shè)計(jì)的其它部分 ,如數(shù)據(jù)類型 ,流程控制 都不難 ,建 議學(xué)習(xí) 數(shù)據(jù)結(jié)構(gòu) C++版。 MFC 是 Win API 與 C++的結(jié)合 ,API,即微軟提供的 Windows下應(yīng)用程序的 編程語言 接口 ,是一種軟件編程的規(guī)范 ,但不是一種程序開發(fā)語言本身 ,可以允許用戶使用各種各樣的第三方 (如我是一方 ,微軟是一方 ,Borland 就是第三方 )的編程語言來進(jìn)行對Windows 下應(yīng)用程序的開發(fā) ,使這些被開發(fā)出來的應(yīng)用程序能在Windows 下運(yùn)行 ,比如 VB,VC++,JAVA,Delhpi 編程語言 函數(shù) 本質(zhì)上全部源于 API,因此用它們開發(fā)出來的應(yīng)用程序都能工作在Windows 的 消息機(jī) 制 和繪圖里 ,遵守 Windows 作為一個 操作系統(tǒng) 的內(nèi)部實(shí)現(xiàn) ,這其實(shí)也是一種必要 ,微 軟如果不提供 API,這個世上對Windows 編程的工作就不會存在 ,微軟的產(chǎn)品就會迅速從時尚變成垃圾 ,上面說到 MFC 是微軟對 API 函數(shù)的專用 C++封裝 ,這種結(jié)合一方面讓用戶使用微軟的專業(yè) C++ SDK 來進(jìn)行 Windows 下應(yīng)用程序的開發(fā)變得容易 ,因?yàn)?MFC 是對 API 的封裝 ,微軟做了大量的工作 ,隱藏了好多程序開發(fā)人員在 Windows 下用 C++ amp。 Visual C++向?qū)Э梢怨?jié)省時間和提高精度,但是,程序員也必須理解向?qū)Мa(chǎn)生的代碼,并且,最重要的是,還必須理解 MFC 庫的結(jié)構(gòu)和 Windows 操作系統(tǒng)的內(nèi)部工作方式。 但產(chǎn)品名 “ Visual C++” 也容易誤導(dǎo)人,讓人認(rèn)為自己使用的是一個與 Microsoft Visual Basic 類似的完全可視化的系統(tǒng)。 ClassWizard 能把對話框模板與生成的類定義或與已有的類代碼連接起來,為菜單項(xiàng)、控制等資源生成空的處理函數(shù)模板,創(chuàng)建消息映射條目,并將資源 ID 與處理函數(shù)連接起來。這些特征明顯縮短程式編輯、編譯及連結(jié)的時間花費(fèi),在大型軟件計(jì)劃上尤其顯著。還有允許用戶在調(diào)試期間重新編譯被修改 的代碼,而不必重新啟動正在調(diào)試的程序。 它以擁有 “ 語法高亮 ” , IntelliSense(自動編譯功能)以及高級除錯功能而著稱。 C++及編程模式簡介 Visual C++簡介 Microsoft Visual C++是 Microsoft 公司推出的開發(fā) Win32 環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。實(shí)際上,使用遠(yuǎn)程 控制 工具的技術(shù)人員能夠做到解答疑難問題,安裝和配置軟件,把軟件下載到用戶計(jì)網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì) 4 算機(jī)上,配置應(yīng)用程序和系統(tǒng)軟件設(shè)置并可通過實(shí)際操作培訓(xùn)用戶。 目的以及意義 本文正是在 上文提到的 背景下提出的 , 目的 就 是為了 解決計(jì)算機(jī)的遠(yuǎn)程操作,降低企業(yè)對軟 件的后期維護(hù)成本,提高計(jì)算機(jī)遠(yuǎn)程通信能力的減少誤操作率來提升遠(yuǎn)程工作者的工作效率,設(shè)計(jì)出一款計(jì)算機(jī)網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng) 。你會發(fā)現(xiàn)使用穿透內(nèi)網(wǎng)的遠(yuǎn)程控制軟件無需做端口映射即可實(shí)現(xiàn)連接,這類軟件都需要一臺服務(wù)器協(xié)助程序進(jìn)行通訊以便實(shí)現(xiàn)內(nèi)網(wǎng)的穿透。這樣,即使雙方都在不同的局域網(wǎng)內(nèi),也可以實(shí)現(xiàn)遠(yuǎn)程連接和控制。最關(guān)鍵的是:使用 UDP 協(xié)議可以利用 UDP 的打洞原理( UDP Hole Punching 技術(shù))穿透內(nèi)網(wǎng)。但是目前很多遠(yuǎn)程控制軟件支持從被控端主動連接到控制端,可以一定程度上彌補(bǔ)該缺陷。你不可能使用 TCP 協(xié)議的軟件從某一家公司的電腦,控制另外一家公司的內(nèi)部電腦,或者從網(wǎng)吧、賓館里控制你辦公室的電腦,因?yàn)樗麄兲?于不同的內(nèi)網(wǎng)中。 TCP 協(xié)議遠(yuǎn)程控制 主要有 windows 系統(tǒng)自帶的遠(yuǎn)程桌面、pcAnyWhere(賽門鐵克 公司 )等,網(wǎng)上 98%的遠(yuǎn)程控制軟件都使用TCP 協(xié)議來實(shí)現(xiàn)遠(yuǎn)程控制(包括上述幾款),使用 TCP 協(xié)議的遠(yuǎn)程網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì) 3 控制軟件的優(yōu)勢是穩(wěn)定、連接成功率高;缺陷是雙方必須有一方具有公網(wǎng) IP(或在同一個內(nèi)網(wǎng)中),否則就需要在路由器上做端口映射。此外,有的遠(yuǎn)程控制軟件還支持通過串口、并口、紅外端口來對遠(yuǎn)程機(jī)進(jìn)行控制(不過這里說的遠(yuǎn)程電腦,只能是有限距離范圍內(nèi)的電腦了)。但是,隨著網(wǎng)絡(luò)的高度發(fā)展,電腦的管理及技術(shù)支持的需 要,遠(yuǎn)程操作及控制技術(shù)越來越引起人們的關(guān)注。此外,如果通過電話不能解決問題,那么 在 技術(shù)人員親自到用戶現(xiàn)場解決問題之前,計(jì)算機(jī)將 無法繼續(xù) 使用 ,導(dǎo)致工作延誤 。許多商業(yè)用戶對計(jì)算機(jī)知之甚少
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1