- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于动态IP远程控制
基于动态IP远程控制
摘要:远程控制有着广泛的应用,但在现行以IPv4为基础的网络中,由于IP地址数量的局限往往采用的是动态IP地址分配,导致了IP地址不固定,给远程控制连接带来了一定的问题。文章给出了基于GSM或是中间代理的远程控制中IP浮动问题的解决方法,对解决远程控制应用过程中的问题有着较高的实用价值。
关键词:动态IP;GSM网络;中间代理
中图分类号:TP273.5文献标识码:A文章编号:1006-8937(2010)14-0072-01
1问题提出的背景
计算机远程控制是指计算机通过互联网、局域网等手段连接到另外一台或多台计算机,同时可以在本机上对另外的计算机进行控制,这样的方式称为远程控制。计算机远程控制的应用极其广泛,包括远程技术支持、远程维护以及远程管理等。
目前网络连接中广泛使用的IPv4协议地址空间上存在很大的局限性,地址空间的局限往往使得运营商动态分配IP地址。目前使用IP地址为32位长,用4个两位的十六进制数表示,可能的IP地址为40多亿。在网络用户经历了核爆炸般的增长后,IP地址匮乏的危机开始显现。目前,为了解决IP地址偏少的状况,主要采用动态主机配置协议(DHCP)。允许主机在启动时或者需要时才通过服务器获取正确或完整的IP地址,不需要时将IP地址释放。这样在主机接入网络时会因为时间地点的不同,获得不同的IP地址。
需要进行远程控制的客户端和服务器在只有在建立合法连接后,才能启动监听线程,监听客户端发来的监听信息,调用功能模块完成相应的任务。目前建立网络连接往往需要提前知道对方的IP地址以及端口号,例如广泛使用的Socket网络编程,客户端在建立连接时必须提供主机的地址和端口号。当需要建立远程控制的客户端和服务器端有一方IP为静态IP时,连接过程极为简单。如果两方IP都为动态分配时,建立远程控制的连接会有一定的困难。
2应用GSM的解决方案
无线连接在稳定性以及网络速度方面不如有线网络,却可以在很大程度上弥补有线网络的不足。GSM(Global System for Mobile Communications)网络,全球移动通信系统,是目前广泛应用的第二代移动通信技术,防盗能力佳,网络容量大,最重要的是其手机号码资源丰富,可以提供稳定的连接。当远程控制的服务器端和客户端同时拥有GSM通信模块时,便可以先通过GSM网络进行第一次通信,传送自身的获得IP地址。
建立远程连接时,首先通过GSM网络建立连接,并将服务器端动态获得的IP地址传输给客户端。在客户端获取了服务器IP地址以后,通过Internet 与服务器进行连接,得到身份验证以后便可以进行远程控制任务。类似过程也可以由客户端发起。
如图1GSM网络协助完成的远程控制系统图所示,首先由客户端通过无线网络传输获得的IP地址,服务器获取IP后,通过有线网络建立连接。
从图2的远程控制硬件的结构示意图中可以看出,在使用GSM网络协助完成远程控制的过程中,需要额外的硬件设备以及相应软件开发,提高了远程控制的成本,具有一定的局限性。
GSM网络终端具有很强的移动性,在远程控制系统中加入GSM网络可以使得远程控制更加灵活,使得控制者控制方式和地点更加灵活。可以通过电话或是短信的形式实现远程控制。受控设备同时与Internet有线网络相连,实现了双重控制。以太网模块和GSM模块有着较为成熟的开发和使用模式,开发和使用较为简单。在工程中应用较多。
3通过中间代理完成远程控制
通过中间代理(代理的IP固定),配置客户端(服务器),生成一个HTM页面或文件。服务器(客户端)每次启动尝试获取这个文件,通过读取里面的内容就可以得到最新的IP和连接。通过这种方法可以避免额外的硬件资源投入,完全由软件完成。
主要代码如下:
char *request=”BIT /remote control.htm”;
char buffer[2000];
destSockAddr.sin_family=AF_INET;//协议族
destSockAddr.sin_port=htons(80); //端口号
deskSocketAddr.Sin_Addr.S_Addr=
inet_addr(DEST_IP_ADDR);//代理的IP地址destSocket=socket(AF_INET,SOCK_STREAM,0);
//套接子建立connect(destSocket,(LPSOCKADDR)destSockAddr,sizeof(destSockAddr));
//与代理建立连接
send(destSocket,request,s
原创力文档


文档评论(0)