關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于IOCP的遠程屏幕監控系統

        基于IOCP的遠程屏幕監控系統

        作者: 時間:2011-08-22 來源:網絡 收藏

        摘要:利用Windows提供的完成端口()模型,實現C/S模式下監控服務器同時對大量并發客戶進行監控的功能,可以根據需要決定是否開始控制。用對多線程進行調度和管理,高效地利用系統資源。并且給出了整個系統的網絡設計與實現過程。
        關鍵字:;多線程;監控

        隨著網絡技術的不斷發展,遠程桌面共享技術已經越來越多地運用于遠程辦公、教育培訓、遠程監控等方方面面。微軟在Windows NT 3.5中引入了IOCP(I/O Completion Port,I/O完成端口),該模型被廣泛應用于大規模的網絡服務器之上,遠程屏幕監控服務器利用IOCP可以同時有效地對多個客戶端屏幕進行監控。

        1 遠程屏幕的總體結構
        在Windows系統中,對于大型的服務器應用一般設計為C/S模式,通過在客戶端和服務器之間建立網絡連接來實現信息的傳輸。對于服務器來說,在同一時間可能需要監控多個客戶端屏幕,在遠程屏幕的大致結構如圖1所示。

        本文引用地址:http://www.104case.com/article/161546.htm

        a.JPG


        由被監控的客戶端捕捉屏幕圖像,經過壓縮之后實時地傳輸給服務器,服務器打開一個窗口,并將收到的客戶端屏幕圖像數據顯示在該窗口中,如需對客戶端進行控制,則服務器端將該窗口中捕捉到的鼠標鍵盤消息發送到客戶端,客戶端收到此消息后模擬出鼠標鍵盤點擊事件,實現遠程控制。采用IOCP機制,只需要為數不多的幾個線程就同時為多個客戶端提供服務,并且效率遠高于其它網絡模型。

        2 IOCP機制的基本原理
        IOCP是性能最好的一種I/O模型。它是應用程序使用線程池處理異步I/O請求的一種機制。在處理多個并發的異步I/O請求時,以往的模型都是在接收請求時創建一個線程來應答請求。這樣就有很多的線程并行地運行在系統中。而這些線程都是可運行的,Windows內核花費大量的時間在進行線程的上下文切換,并沒有多少時間花在線程運行上。再加上創建新線程的開銷比較大,所以造成了效率的低下。
        IOCP的目標是實現高效的服務器程序,它克服了一般并發模型的不足,其方法是在初始化完成端口的時候創建一定數量的服務線程。當系統完成I/O操作之后,向服務器完成端口發送I/O completion packet,此時線程池中的線程在完成端口上排隊等待I/O操作的完成。如果在完成端口上沒有收到I/O completion packet,這些線程處于睡眠狀態。否則,這些線程按照后進先出(LIFO)的方式被喚醒,并完成后續數據處理操作。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 台东县| 刚察县| 仁化县| 嵊州市| 漳州市| 白沙| 祁门县| 旬邑县| 勃利县| 边坝县| 河曲县| 安吉县| 岱山县| 禹城市| 永新县| 年辖:市辖区| 响水县| 乌拉特中旗| 西畴县| 九龙坡区| 德格县| 平和县| 保德县| 阿勒泰市| 天等县| 土默特右旗| 洪洞县| 浦北县| 长宁区| 达州市| 南宫市| 龙州县| 海晏县| 崇明县| 娄底市| 合川市| 陇川县| 英超| 五台县| 赞皇县| 射阳县|