基于IOCP的遠程屏幕監控系統
其中m_ioType表示I/O操作的類(lèi)型,接下來(lái)需要調用WSARecv發(fā)起重疊的I/O操作請求,并將向前創(chuàng )建的OVERLAPPEDPLUS結構體作為參數傳遞進(jìn)去。具體如下:

服務(wù)線(xiàn)程被啟動(dòng)后,調用GetQueuedCompletionStation函數等待重疊I/O操作的完成,當重疊I/O操作完成時(shí),I/O操作完成通知包被發(fā)送到完成端口上,此時(shí)該函數返回,完成通知包包含的信息有已傳輸的字節數、完成鍵和重疊結構。根據返回的I/O操作的具體信息,調用相應的處理函數對結果進(jìn)行處理。在處理完數據之后,需要再次向完成端口投遞I/O操作請求。我們可以通過(guò)調用PostQueuedCompletion Status函數來(lái)向完成端口發(fā)送一個(gè)I/O操作完成通知包。圖2是整個(gè)網(wǎng)絡(luò )傳輸的工作流程圖。本文引用地址:http://dyxdggzs.com/article/161546.htm
7 結束語(yǔ)
在Windows7環(huán)境下建立服務(wù)器運行平臺,100M局域網(wǎng)內,7個(gè)客戶(hù)同時(shí)連接到服務(wù)器,服務(wù)器能正常運行,同時(shí)打開(kāi)7個(gè)客戶(hù)端的屏幕監控窗口,客戶(hù)端屏幕圖像顯示無(wú)明顯延遲,需要時(shí)可正常開(kāi)啟遠程控制功能。基于IOCP的服務(wù)器理論上可以連接成百上千個(gè)客戶(hù)端,但是由于網(wǎng)絡(luò )帶寬,硬件配置等限制,連接數量往往有一定的限制。基于IOCP的服務(wù)器程序優(yōu)點(diǎn)在于能夠對大量的客戶(hù)連接進(jìn)行有效管理,資源利用率高,具有易擴展性,隨著(zhù)硬件配置的提高,無(wú)需改動(dòng)程序,其性能就可以隨之提升。
評論