www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]摘要:利用Windows提供的完成端口(IOCP)模型,實現(xiàn)C/S模式下遠程屏幕監(jiān)控服務器同時對大量并發(fā)客戶進行屏幕監(jiān)控的功能,可以根據(jù)需要決定是否開始遠程控制。用IOCP對多線程進行調(diào)度和管理,高效地利用系統(tǒng)資源。并且

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

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

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


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

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

3 服務器設計
    遠程屏幕監(jiān)控服務器的核心功能是將接收到的客戶端的屏幕圖像顯示到一個服務器端窗口中,服務器通過此窗口對客戶端進行遠程控制。為了提高系統(tǒng)可靠性,網(wǎng)絡協(xié)議采用面向連接的TCP協(xié)議,利用TCP協(xié)議中的擁塞避免以及超時和差錯重傳機制可以確保數(shù)據(jù)在傳輸?shù)目煽啃浴?br /> 3.1 服務器監(jiān)聽套接字的實現(xiàn)
    在服務器端建立IOCP模型時,首先需要建立一個監(jiān)聽套接字,對于監(jiān)聽套接字,并不將它與完成端口相關(guān)聯(lián),而是調(diào)用WSAEventSelect為監(jiān)聽套接字注冊FD_ACCEPT網(wǎng)絡事件。該函數(shù)的聲明如下:
   
    之后創(chuàng)建一個監(jiān)聽線程,在此線程中可以循環(huán)調(diào)用WSAWaitForMultipleEvents等待事件對象被觸發(fā)。在該函數(shù)正確返回之后,繼續(xù)調(diào)用WSAEnumNetworkEvents函數(shù)列舉出發(fā)生在套接字上的事件,如果是FD_ACCEPT事件,則接受該連接,并將新建的套接字與創(chuàng)建的完成端口相關(guān)聯(lián),并在此套接字上調(diào)用WSARecv投遞接收數(shù)據(jù)的請求。
3.2 IOCP模型的實現(xiàn)
    要建立IOCP模型,需要在服務器啟動監(jiān)聽線程時,首先創(chuàng)建一個完成端口對象,通過調(diào)用CreateIoCompletionPort來實現(xiàn),之后調(diào)用GetSystemlnfo函數(shù)獲得CPU的數(shù)量,根據(jù)CPU的數(shù)量創(chuàng)建一定數(shù)量的服務線程在此端口上等待完成事件的通知,一般來說,服務線程的數(shù)量大約是CPU數(shù)量的2倍。
    當監(jiān)聽套接字接收到一個新的連接時,再次調(diào)用CreateIoCompletionPort將接收套接字與我們先前創(chuàng)建的完成端口綁定。這里的完成鍵pComleKey是一個指向ClientContext結(jié)構(gòu)體的指針,該結(jié)構(gòu)體包含了當前套接字的一些相關(guān)信息,接受和發(fā)送數(shù)據(jù)所用的緩存。接下來需要定義一個與I/O操作相關(guān)的結(jié)構(gòu)體,保存與I/O操作相關(guān)的信息。該結(jié)構(gòu)體的定義如下:
   
    其中m_ioType表示I/O操作的類型,接下來需要調(diào)用WSARecv發(fā)起重疊的I/O操作請求,并將向前創(chuàng)建的OVERLAPPEDPLUS結(jié)構(gòu)體作為參數(shù)傳遞進去。具體如下:
   
    服務線程被啟動后,調(diào)用GetQueuedCompletionStation函數(shù)等待重疊I/O操作的完成,當重疊I/O操作完成時,I/O操作完成通知包被發(fā)送到完成端口上,此時該函數(shù)返回,完成通知包包含的信息有已傳輸?shù)淖止?jié)數(shù)、完成鍵和重疊結(jié)構(gòu)。根據(jù)返回的I/O操作的具體信息,調(diào)用相應的處理函數(shù)對結(jié)果進行處理。在處理完數(shù)據(jù)之后,需要再次向完成端口投遞I/O操作請求。我們可以通過調(diào)用PostQueuedCompletion Status函數(shù)來向完成端口發(fā)送一個I/O操作完成通知包。圖2是整個網(wǎng)絡傳輸?shù)墓ぷ髁鞒虉D。



7 結(jié)束語
    在Windows7環(huán)境下建立服務器運行平臺,100M局域網(wǎng)內(nèi),7個客戶同時連接到服務器,服務器能正常運行,同時打開7個客戶端的屏幕監(jiān)控窗口,客戶端屏幕圖像顯示無明顯延遲,需要時可正常開啟遠程控制功能?;贗OCP的服務器理論上可以連接成百上千個客戶端,但是由于網(wǎng)絡帶寬,硬件配置等限制,連接數(shù)量往往有一定的限制?;?strong>IOCP的服務器程序優(yōu)點在于能夠?qū)Υ罅康目蛻暨B接進行有效管理,資源利用率高,具有易擴展性,隨著硬件配置的提高,無需改動程序,其性能就可以隨之提升。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

柏林2025年9月9日 /美通社/ -- 2025年9月5日,納斯達克上市公司優(yōu)克聯(lián)集團(NASDAQ: UCL)旗下全球互聯(lián)品牌GlocalMe,正式亮相柏林國際消費電子展(IFA 2025),重磅推出融合企...

關(guān)鍵字: LOCAL LM BSP 移動網(wǎng)絡

深圳2025年9月9日 /美通社/ -- PART 01活動背景 當技術(shù)的鋒芒刺穿行業(yè)壁壘,萬物互聯(lián)的生態(tài)正重塑產(chǎn)業(yè)疆域。2025年,物聯(lián)網(wǎng)產(chǎn)業(yè)邁入?"破界創(chuàng)造"與"共生進化"?的裂變時代——AI大模型消融感知邊界,...

關(guān)鍵字: BSP 模型 微信 AIOT

"出海無界 商機無限"助力企業(yè)構(gòu)建全球競爭力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由領先商業(yè)管理媒體世界經(jīng)理人攜手環(huán)球資源聯(lián)合主辦、深圳?前海出海e站通協(xié)辦的...

關(guān)鍵字: 解碼 供應鏈 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林當?shù)貢r間9月6日,在2025德國柏林國際電子消費品展覽會(International Funkausstellung...

關(guān)鍵字: 掃地機器人 耳機 PEN BSP

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠通信宣布,其自研藍牙協(xié)議棧DynaBlue率先通過藍牙技術(shù)聯(lián)盟(SIG)BQB 6.1標準認證。作為移遠深耕短距離通信...

關(guān)鍵字: 藍牙協(xié)議棧 移遠通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實黨中央、國務院和上海市委、市政府關(guān)于加快發(fā)展人力資源服務業(yè)的決策部署,更好發(fā)揮人力資源服務業(yè)賦能百業(yè)作用,8月29日,以"AI智領 HR智鏈 靜候你來&quo...

關(guān)鍵字: 智能體 AI BSP 人工智能

慕尼黑2025年9月8日 /美通社/ -- 2025年9月8日德國國際汽車及智慧出行博覽會(IAA MOBILITY)于慕尼黑開幕,廣汽攜旗下五款新能源明星車型亮相,正式發(fā)布未來移動出行的"廣汽方案"...

關(guān)鍵字: 廣汽 IO AI 移動

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達成合作,為其自主研發(fā)的"旗馭車管"車輛運營管理平臺提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺對百余家企業(yè)客戶的運營管理效率...

關(guān)鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP
關(guān)閉