mstsc 远程序桌面登录的 c#开发

远程序桌面登录的.NET开发,可以使用MSTSCLib.dll和MsTscAxWrapper.dll两个转换过的动态库,而无需使用WINDOWS自带的OCX,因为使用OCX开发可以会遇到其它问题。 主要代码:

public AxMSTSCLib.AxMsRdpClient rdpClient;

rdpClient = new AxMSTSCLib.AxMsRdpClient(); rdpClient.Dock = DockStyle.Fill;

        rdpClient.Width = Screen.PrimaryScreen.Bounds.Width;//控件宽度     
        rdpClient.Height = Screen.PrimaryScreen.Bounds.Height;//控件宽度     
        this.Controls.Add(rdpClient);     
        rdpClient.Server = this.StrIP;//服务器地址     
        rdpClient.UserName = this.StrName;     
        rdpClient.AdvancedSettings2.RDPPort = 3389;     
        rdpClient.AdvancedSettings2.ClearTextPassword = this.StrPwd;//密码     
        rdpClient.ColorDepth = 16;//颜色位数     
        rdpClient.FullScreen = true;//是否全屏     

rdpClient.Connect();

了解远程桌面协议 (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 的关键元素。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏芋道源码1024

Dubbo源码解析 —— zookeeper连接

前言 上周的dubbo源码解析-远程暴露中讲解了远程暴露的大致过程,但是期间大家也发现了,这个过程涉及到了很多分支,比如 netty, zookeeper.当...

3305
来自专栏MessageQueue

如何在MQ中实现支持任意延迟的消息?

定时消息与延迟消息在代码配置上存在一些差异,但是最终达到的效果相同:消息在发送到 MQ 服务端后并不会立马投递,而是根据消息中的属性延迟固定时间后才投递给消费者...

1393
来自专栏数据和云

【推荐】 RAC 性能优化全攻略与经典案例剖析

ORACLE RAC凭借其卓越的容错能力和可扩展性以及对应用透明的切换能力引领了数据库高可用架构的潮流,但在实际的生产环境中,出现的性能问题非常多,对数据库的稳...

2727
来自专栏跨界架构师

如何一步一步用DDD设计一个电商网站(十一)—— 最后的准备

最近实在太忙,上周停更了一周。按流程一步一步走到现在,到达了整个下单流程的最后一公里——结算页的处理。从整个流程来看,这里需要用户填写的信息是最多的,那么在后...

923
来自专栏汇智网教程

以太坊合约交易大小的上限是多少?

2935
来自专栏数据和云

实战课堂:一则CPU 100%的故障分析处理知识和警示

编辑手记:在现实的生产环境中,DBA可能遭遇到各种各样的异常,或简单、或复杂,但是无一不考验DBA的经验和能力,在『实战课堂』栏目中,我们将整理和分享来自云和恩...

993
来自专栏即时通讯技术

现代移动端网络短连接的优化手段总结:请求速度、弱网适应、安全保障

众所周之,通常我们开发一个移动端应用,会直接调用系统提供的网络请求接口去服务端请求数据,再针对返回的数据进行一些处理,或者使用iOS中的开源AFNetworki...

702
来自专栏决胜机器学习

数据库专题(二) ——数据库设计

数据库专题(二)——数据库设计 (原创内容,转载请注明来源,谢谢) 一、数据库设计规范——范式 数据库设计,需要遵循设计原则,最主要的设计原则是范式。范式是...

3207
来自专栏QQ音乐前端团队专栏

【译】JavaScript与WebAssembly进行比较+在哪些情况下会优于JavaScript

这次我们来分析WebAssembly的工作原理,以及在如下几个方面和JavaScript进行比较:加载时间,执行速度,垃圾回收,内存使用情况,平台API访问,调...

2334
来自专栏杨建荣的学习笔记

关于闪回区溢出导致的数据hang(r11笔记第12天)

对于Oracle数据库的闪回区的设置,之前和一个同事和讨论过,总体来说有一些不同的意见。 首先这个闪回区是一个逻辑的概念,闪回区的大小不会严格依赖于磁盘空间的情...

34113

扫描关注云+社区