- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于C/S模式的一种远程协助系统的实现
方癸华
福建侨兴轻工学校计算机信息科
[摘 要]:本系统采用客户端请求/服务器应答模式,用开发工具Visual C++6.0开发,基于window socket套编程技术,实现网络编程。本系统的功能主要包括三大部分:被控制端、主控制端、中转端;被控制端主要实现被控制计算机的屏幕画面传送、鼠标键盘事件的触发等,主控制端主要实现远程画面的显示、鼠标键盘事件的发送,中转端主要实现被控制端与主控制端之间的数据转发。通过这些功能以实现远程计算机的本地显示、操作,达到远程帮助解决问题的目的。
[关键词]:问题、远程协助、网络编程、解决问题
1、前言
今天,随着信息技术的不断发展,计算机的不断普及;在使用中难免出现这样或者那样的问题。你遇到过这样的情况吗?一位向你请教一个计算机设置或软件安装等方面的问题请教时,因为距离远,不能赶到现场,电话讲了半天,,怎么办?于是远程连接到的机器上,远程操作的电脑,问题很快解决了,
远程协助技术因为进一步克服了由于地域性差异而带来的不便性,所以在网络管理、远程技术支持、远程交流、远程办公等领域有着非常广泛的应用。随着网络的高度发展,电脑的管理及技术支持的需要,远程及控制技术越来越引起人们的关注。远程一般支持下面的这些网络方式:LAN、WAN、拨号方式、互联网方式。系统主要功能模块及其应用各个的功能如下:Session 1 (A-S1)? ???
????18.181.0.31:1235??
????155.99.25.11:62000??
??????????????????? NAT
????????????????? 155.99.25.11 (局域网一台有外网地址的机器)
????Session 1 (A-S1)??
????18.181.0.31:1235??
????10.0.0.1:1234??
Client A (局域网内一台机器)
???????????????? 10.0.0.1:1234
上图的意思是:有一个私有网络10.*.*.*,Client A是其中的一台计算机,这个网络的网关(一个NAT设备)的外网IP是155.99.25.11(应该还有一个内网的IP地址,比如10.0.0.10)。如果Client A中的某个进程(这个进程创建了一个Socket,这个Socket绑定1234端口)想访问外网主机18.181.0.31的1235端口,那么当数据包通过NAT时会发生什么事情呢? 首先,NAT会改变这个数据包的原IP地址,改为155.99.25.11。 接着,NAT会为这个传输创建一个Session(Session是一个抽象的概念,如果是TCP,也许Session是由一个SYN包开始,以一个FIN包结束。而UDP呢,以这个IP的这个端口的第一个UDP开始,结束)并且给这个Session分配一个端口,比如62000,然后改变这个数据包的源端口为62000。所以本来是(10.0.0.1:1234(18.181.0.31:1235)的数据包到了互联网上变为了(155.99.25.11:62000(18.181.0.31:1235)。
?一旦NAT创建了一个Session后,NAT会记住62000端口对应的是10.0.0.1的1234端口,以后从18.181.0.31发送到62000端口的数据会被NAT自动的转发到10.0.0.1上。(注意:这里是说18.181.0.31发送到62000端口的数据会被转发,其他的IP发送到这个端口的数据将被NAT抛弃)这样Client A就与Server S1建立以了一个连接。
2)系统对接实现
上面的基础知识可能很多人都知道了。 好了,我们看到,通过NAT,子网内的计算机向外连结是很容易的(NAT相当于透明的,子网内的和外网的计算机不用知道NAT的情况)。 但是如果外部的计算机想访问子网内的计算机就比较困难了,因为我们不知道内网那台机器的地址,只有当内网机器访问外网时它才会有个NAT映射地址。所以如果主控制端与被控制端在不同的某局域网内,他们之间想建立连接是不可能的;因为他们相互不知道对方地址(如果它们在同一局域网内则不存在此问题)。? 我们知道很多电脑是在局域网内的,那么我们要想对远程局域网内一台电脑进行协助就必须解决从外部发送一个数据报给内网的计算机。 有什么办法呢? 我们可以开发一个中转程序,此程序运行在具有固定外网地址的一台计算机上,来实现两端的连接与数据交换;因为此程序运行在具有固定外网地址的机器上(简称中转端),此外网地址对两端来说都是可知的,所以哪怕主控制端与被控制端在不同的某局域网内,它们都可以访问到此中转端。
3)原理流程
有了中转端做主控制
文档评论(0)