当前位置: 首页 > 专利查询>东南大学专利>正文

一种控制台程序远程交互的方法技术

技术编号:7898058 阅读:217 留言:0更新日期:2012-10-23 04:18
本发明专利技术公开了一种控制台程序远程交互的方法,控制台程序是与视窗操作系统中没有独立交互窗口只在命令行窗口运行的程序,该方法将本地控制台加载器的窗口附着在控制台程序所属的命令行窗口上,采用模拟键盘输入到控制台程序命令行窗口输入缓冲区的方式作为其输入,采用从控制台程序的命令行窗口输出缓冲区读取数据的方式作为其输出,并通过网络将控制命令和回显数据与远程主机控制端程序进行数据通信,从而实现与控制台程序的远程交互。该方法对系统软件和控制台程序具有良好的兼容性和稳定性。

【技术实现步骤摘要】

本专利技术属于计算机
,具体来说,涉及。
技术介绍
近年来,随着计算机技术的不断发展,通过远程交互来与远程应用程序通信已经成为越来越多用户的选择。通过网络远程交互运行各种应用或服务程序,人们可以更方便地实现远程办公等工作。因此,远程交互有着巨大的市场前景。在现有的计算机操作系统中,Microsoft Windows系统因其卓越的易用性和绚丽的视觉效果成为计算机系统中大众用户的首选。控制台程序是Windows为了兼容DOS程序而设立的,是没有独立窗口的程序,一般 在命令行下(cmd. exe)运行。控制台程序的输入输出是通过标准I/O进行的,不像界面程序可以通过鼠标点击进行操作。一般后台运行的程序可作为控制台应用程序。所谓远程交互,是指用户在异地通过网络与本地计算机通信。随着网络的高速发展,电脑远程交互技术越来越引起人们的关注。目前远程交互的主要应用包括远程办公、远程教育、远程维护和远程协助等。Windows系统主要提供了两种与系统交互的方式可视化操作和命令行操作。基于可视化操作,Windows系统提供了如远程桌面连接等途径;而在命令行操作方面,现有的实现命令行操作的常规方法主要是将控制台程序窗口的标准输入输出重定向到其父进程的发送/接收管道上,或者是重定向到用于远程通信的基于TCP/IP的套接字上。该方法容易与其他软件发生冲突,导致系统不稳定。由于系统自带的和一些常用的第三方控制台程序只能用于本机操作,没有添加远程通信的模块,为了将控制台程序用于远程交互,需要修改控制台程序源代码,在程序中添加与远程通信的接口,因此该方法无法适用于非开源的控制台程序,即对于控制台程序的兼容性较差。
技术实现思路
技术问题本专利技术所要解决的技术问题是提供,该方法可以克服现有技术中容易与其他软件冲突并导致系统不稳定的不足,即对系统软件具有良好的兼容性,且系统稳定;同时,本专利技术能够用于常用的各种控制台程序,即对控制台程序具有良好的兼容性。技术方案为解决上述技术问题,本专利技术采用的技术方案是 ,该方法包括以下步骤 第一步用户通过人机交互模块向远程主机控制端输入控制命令; 第二步远程主机控制端接收到控制命令后,将控制命令通过网络传送给本地控制台程序加载器;第三步本地控制台程序加载器接收到控制命令,如果控制命令是结束命令,则进入第八步;如果控制命令不是结束命令,通过控制台交互模块将控制命令传给控制台程序; 第四步控制台程序处理接收到的控制命令,并输出回显数据; 第五步本地控制台程序加载器通过控制台交互模块获取控制台程序的回显数据; 第六步本地控制台程序加载器通过网络将回显数据传送给远程主机控制端; 第七步远程主机控制端将接收到的回显数据通过人机交互模块显示给用户,然后返回第一步; 第八步远程主机控制端结束自身进程,本地控制台程序加载器结束控制台程序的进程,然后结束输入输出线程,并结束自身进程。有益效果与现有技术相比,本专利技术具有的有益效果是对系统软件和控制台程 序具有良好的兼容性,且系统稳定。现有的交互的方法需要对控制台程序的标准输入输出进行重定向,从而容易与其他软件发生冲突,导致系统不稳定。而本专利技术的技术方案中,为了增强对控制台程序的兼容性,本专利技术的交互系统提出了一种全新的架构包括远程主机控制端、本地控制台程序加载器和控制台程序,远程主机控制端包括人机交互模块和远程通信模块,本地控制台程序加载器包括本地通信模块和控制台交互模块。在保证控制台程序完整性的前提下,为控制台程序提供了一个加载器,由加载器与控制台程序进行交互,力口载器通过采用Windows套接字(Winsock),利用TCP/IP协议与远程用户进行命令和数据的传输,从而实现控制台程序的远程交互。本交互系统将加载控制台程序的父进程的命令行窗口附着在其命令行窗口上,采用了模拟键盘输入到控制台程序命令行窗口输入缓冲区的方式作为其输入,并通过从控制台程序的命令行窗口输出缓冲区读取数据作为其输出,从而实现非重定向条件下与控制台程序的交互,并通过网络将控制命令和回显数据与远程主机控制端进行数据通信,实现与控制台程序的远程交互。本专利技术的技术方案对系统软件和控制台程序具有良好的兼容性,且系统稳定。附图说明图I为本专利技术的流程图。图2为本专利技术中的远程主机控制端的流程图。图3为本专利技术中的本地控制台程序加载器的流程图。图4为实现本专利技术的功能模块和控制台程序之间的连接框图。图中有用户101、远程主机控制端102、人机交互模块103、远程通信模块104、本地控制台程序加载器105、本地通信模块106、控制台交互模块107、控制台程序108。具体实施例方式以下结合附图对本专利技术的关键技术和各模块进行详细实例说明。实施本专利技术的网络环境互联网/局域网;硬件设备两台PC机;运行平台Windows XP ;控制台程序cmd. exe。控制台程序是与视窗操作系统中没有独立交互窗口只在命令行窗口运行的程序。如图I所示,本专利技术的控制台程序远程交互的方法,包括以下步骤 第一步用户101通过人机交互模块103向远程主机控制端102输入控制命令。第二步远程主机控制端102接收到控制命令后,将控制命令通过网络传送给本地控制台程序加载器105。第三步本地控制台程序加载器105接收到控制命令,如果控制命令是结束命令,则进入第八步;如果控制命令不是结束命令,通过控制台交互模块107将控制命令传给控制台程序108。在第三步中,通过控制台交互模块107将控制命令传给控制台程序108是指本地控制台程序加载器105将自身的命令行窗口与控制台程序108的命令行窗口对接,将控制命令作为控制台程序108命令行窗口的输入传递给控制台程序108。本地控制台程序加载器105将自身的命令行窗口与控制台程序108的命令行窗口对接是指将本地控制台程序加载器105的命令行窗口附着在控制台程序108的命令行窗口上。将控制命令作为控制台程序108命令行窗口的输入传递给控制台程序108可以采用模拟键盘输入的方式,将控制命令输入到控制台程序108命令行窗口的输入缓冲区中。第四步控制台程序108处理接收到的控制命令,并输出回显数据。第五步本地控制台程序加载器105通过控制台交互模块107获取控制台程序108的回显数据。在第五步中,本地控制台程序加载器105通过控制台交互模块107获取控制台程序108的回显数据是指控制台交互模块107从控制台程序108命令行窗口的输出缓冲区获取控制台程序108处理完控制命令后的回显数据。第六步本地控制台程序加载器105通过网络将回显数据传送给远程主机控制端102。第七步远程主机控制端102将接收到的回显数据通过人机交互模块103显示给 用户101,然后返回第一步。第八步远程主机控制端102结束自身进程,本地控制台程序加载器105结束控制台程序108的进程,然后结束输入输出线程,并结束自身进程。如图2所示,本专利技术中的远程主机控制端102的工作过程是远程主机控制端102进行初始化,与本地控制台程序加载器105建立连接,做好通信准备;连接成功后,用户101对远程主机控制端102进行配置,输入控制命令;远程主机控制端102接收到用户101输入的控制命令,将控制命令通过网络发送给本地控制台程序加载器105,如果控制命本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:宋宇波唐磊蓝智灵石乐
申请(专利权)人:东南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1