1. 程式人生 > >(轉載)遠端序桌面登入的.NET(C#)開發

(轉載)遠端序桌面登入的.NET(C#)開發

遠端序桌面登入的.NET開發,可以使用MSTSCLib.dll和MsTscAxWrapper.dll兩個轉換過的動態庫,而無需使用WINDOWS自帶的OCX,因為使用OCX開發可以會遇到其它問題。

     主要程式碼:

 

瞭解遠端桌面協議 (RDP)
< type="text/javascript">

遠端桌面協議 (RDP),用於終端伺服器和終端伺服器客戶端之間的通訊。RDP 被封裝並在 TCP 加密。

遠端桌面協議基於,並是對擴充套件 T 120 系列的協議標準。 多聲道支援協議用於單獨的虛擬通道儲存的簡報資料、 序列裝置通訊,授權資訊、 高加密的資料 (鍵盤、 滑鼠活動) 等。 因為 RDP 是核心 T.share 協議的擴充套件,多個其他功能將保留作為 RDP,如體系結構支援多點 (多方會話) 所需要的功能的一部分。 multipoint 資料傳遞允許從應用程式在"實時多方傳遞而不必向單獨 (例如,虛擬 Whiteboards) 的每個會話傳送相同的資料的資料。

Windows 終端伺服器此第一個版本中但是,我們將集中提供可靠而快速點對點單會話通訊。 只有一個數據信道將可以中使用最初發布的終端伺服器 4.0 但是,RDP 的靈活性未來的產品中提供大量的功能的空間。

Microsoft 決定實現 RDP 連線用於 Windows NT 終端伺服器中的一個原因是它提供用於生成許多更多的功能非常可擴充套件基礎。 這是因為 RDP 用於資料傳輸 64,000 獨立的通道。 但是,當前傳輸活動只使用單個頻道 (對於鍵盤、 滑鼠和簡報資料)。

而且,RDP 旨在支援多種不同型別的網路拓撲 (例如 ISDN、 POTS 和多個的 LAN 協議 (如 IPX、 NetBIOS、 TCP/IP,等)。 當前版本的 RDP 將只執行 TCP/IP 上,但客戶反饋的其他協議支援可以新增在將來版本。

參與傳送和接收資料通過 RDP 堆疊活動實質上是作為七層 OSI 模型標準公共 LAN 網路現在相同的。 資料從應用程式或服務傳輸經過下協議堆疊 sectioned、 定向到一個通道 (通過 MCS)、 加密、 換行,幀、 打包到在的網路協議和最後解決,會上傳送纜線到客戶端。 返回的資料相同方式僅中有效反向,使用資料包被去除的它的地址,然後 unwrapped 解密,依此類推直到資料提供給應用程式使用。 協議堆疊修改關鍵部分發生第四個和第七個層,其中資料的加密、 換行和幀、 定向到一個通道和確定優先級別之間。

為應用程式開發人員的要點之一是,使用 RDP,Microsoft 有抽象立即處理該協議棧的複雜性。 這樣,他們只需編寫乾淨的、 精心設計、 良好 32 位應用程式並且 RDP 堆疊由終端伺服器和它的客戶端連線實現負責其餘工作。

有關應用程式在終端伺服器上的互動方式以及要注意開發用於 Windows 終端伺服器基礎結構的應用程式時的詳細資訊,檢視"優化 Windows NT Server 4.0,終端伺服器版的應用程式"白皮書。 值得討論 RDP 堆疊例項中的四個元件是 multipoint 的通訊服務 (MCSMUX)、 泛型的會議控制 (GCC)、 Wdtshare.sys 和 Tdtcp.sys。 MCSmux 和 GCC 都在國際電信聯合 (ITU) T 120 系列。 MCS 由兩種標準組成: 它定義了多點服務的 T.122 和指定資料傳輸協議的 T.125。 MCSMux 控制通道 (由到協議中的預定義虛擬通道的 multiplexing 資料) 的工作分配、 優先順序和分段傳送的資料。 實質上,提取多個的 RDP 堆疊到單個實體從該 GCC 的角度。 GCC 負責管理這些多個頻道。 在 GCC 允許建立和刪除會話連線和控制元件資源提供 MCS。 每個終端伺服器協議 (當前,唯一的 RDP 和 Citrix 的 ICA 支援) 將有一個協議堆疊例項載入 (等待連線請求一個偵聽程式堆疊)。 終端伺服器裝置驅動程式協調和管理 RDP 協議活動和為較小元件組成,UI 傳輸、 壓縮、 加密、 幀和等等的 RDP 驅動程式 (Wdtshare.sys),和傳輸驅動程式 (Tdtcp.sys) 將打包到基礎協議網路 TCP/IP 協議。

RDP 是完全獨立的基礎的傳輸堆疊,此案例的 TCP/IP 中的開發的。 在完全獨立的傳輸堆疊的 RDP,表示為它們的客戶需要增加了很少或沒有重要更改協議的基本部分我們可以新增其他網路協議的其他傳輸驅動程式。 這些是 RDP 的效能和網路上的 extendibility 的關鍵元素。