[發明專利]一種基于窗口結構的遠程桌面控制方法有效
| 申請號: | 201510064709.2 | 申請日: | 2015-02-05 |
| 公開(公告)號: | CN104683449B | 公開(公告)日: | 2017-12-12 |
| 發明(設計)人: | 代豪;劉曉寧;包健 | 申請(專利權)人: | 深圳市云舒網絡技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 深圳市精英專利事務所44242 | 代理人: | 馮筠 |
| 地址: | 518000 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 窗口 結構 遠程桌面 控制 方法 | ||
技術領域
本發明涉及計算機遠程桌面控制技術領域,尤其涉及一種基于窗口結構的遠程桌面控制方法。
背景技術
目前國內外著名的Windows遠程桌面控制軟件有TeamViewer,VNC,向日葵等,基本的屏幕傳輸數據流程大致相同如下:
首先,被控端獲取桌面圖像的變化數據;然后,被控端對獲取的圖像變化數據進行壓縮然后發送給主控端;然后,主控端收到被控端發送過來的圖像數據后解壓,并將數據還原出來,顯示在某個窗口中;再然后,主控端將窗口上的鼠標和鍵盤以及輸入法的輸入發給被控端;最后,被控端收到主控端的鼠標和鍵盤消息的時候,使用系統的API來模擬鼠標鍵盤在本地的動作。實現遠程桌面控制。
無論使用哪一種遠程桌面控制軟件,如何高效地抓取桌面的變化部分并在有限的帶寬進行快速有效地傳輸一直是這個領域在解決和優化的主題,目前關于如何有效獲取圖像的變化數據主要做法有三種:
其一,通過系統的API定時抓取整個桌面的圖像(如Windows下的BitBlt),通過比較出變化的部分,然后將變化的數據發送給主控端。這種方式的缺點是靠定時獲取桌面的圖像來計算出桌面的變化區域,這種方式比較被動,不管桌面上的數據是否存在變化,都要有一個抓屏的動作,且刷新頻率較難控制,如果刷新頻率過快,則被控端的CPU會很高,如果刷新頻率較低,則獲取變化數據的實時性不夠。
其二,通過windows的鉤子來捕獲windows下圖像相關的刷新消息,然后檢查刷新區域是否變化,有變化就將變化的圖像數據進行壓縮發送。這種做法克服了第一種方法的被動抓圖的缺點,靠鉤子鉤到的事件來獲取需要檢查是否發生圖像變化的區域,但是存在的問題就是有些事件獲取不到,如word中的插入符等。
其三,通過Mirror Driver的驅動,在MirrorDriver里面獲取windows的屏幕數據,然后發給被控端的應用程序進行處理。這種方式也屬于主動抓圖,在局域網里播放視頻的時候效果最好且占用CPU較低,但是產生的數據流很大,一旦在外網模式下帶寬有限,在遠程操作的實時性上效果不會太好。
發明內容
本發明的目的在于提供一種基于窗口結構的遠程桌面控制方法,其解決了目前遠程桌面控制占用網絡資源多,實時性差的技術問題。
為達到上述目的,本發明所提出的技術方案在基于對遠程控制的行為進行分析統計基礎上,得出如下結論:
用戶控制的單位以窗口為單位,平時的操作主要有窗口移動,窗口創建、關閉,窗口大小變化,窗口顯示順序調整等。
在此結論的基礎上本發明提出一種基于窗口結構的遠程桌面控制方法,其包括如下步驟:
第一步,建立遠程桌面控制連接:
主控端向被控端發起遠程桌面控制請求,并且建立網絡通信連接;
第二步,判斷主控端和被控端是否處于同一局域網絡中;
第三步,若第二步中,判定主控端和被控端處于同一局域網中,則采用MirrorDriver驅動,進行遠程桌面控制操作:
第四步,若第二步中,判定主控端和被控端處于不同的局域網中,則對主控端和被控端的分辨率進行協商;
第五步,采用基于窗口的圖像數據變化算法,進行遠程桌面控制操作。
其中,所述第二步判斷主控端和被控端是否處于同一局域網,包括如下步驟:
第一步,被控端將子網掩碼,局域網IP和局域網連接端口上報服務器;
第二步,主控端將其子網掩碼上報服務器;
第三步,判斷主控端和被控端的外網IP是否相同,若不同,則二者處于外網;
第四步,若第三步中,主控端和被控端的外網IP相同,則進一步判斷子網掩碼是否相同,相同則二者處于同一局域網,反之則二者處于外網。
其中,所述的第五步,基于窗口的數據圖像變化算法包括如下步驟:
第一步,初始化信息窗口;
第二步,掛載鉤子;
第三步,采用MirrorDriver獲取桌面數據;
第四步,當主控端和被控端斷開連接時,卸載鉤子,并銷毀窗口數據。
其中,所述第四步中的分辨率協商算法如下:協商后的分辨率為(W4,H4);其中W4=W1*Scale3,H4=H1*Scale3;Scale3為W3/W1和H3/H1之中較小值;W3為W1和W2之中較小值,H3為H1和H2之中較小值;其中被控端分辨率為(W1,H1);主控端分辨率為(W2,H2)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市云舒網絡技術有限公司,未經深圳市云舒網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510064709.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:數據交互方法和裝置
- 下一篇:一種軌道車輛網絡系統的通信方法





