本申请一般涉及消息转发。更具体地,本申请涉及一种用于标准输入输出信息转发的方法、消息转发器、系统、设备和计算机可读存储介质。
背景技术:
1、为了方便用户操作,通常可以在建模软件中嵌入一个自制的或者第三方脚本引擎,嵌入的脚本引擎不限编程语言。基于内嵌的脚本引擎,用户可以通过编写代码的方式去完成诸多操作,例如分析和仿真的自动化。然而,在内嵌了自制的或者第三方脚本引擎的场景下,往往需要实时输出脚本引擎打印的各种信息,而由于脚本引擎输出的打印信息是直接输出到标准输入输出流(或者称为信息流),使得建模软件无法直接转发并显示或者无法保存标准输入输出流。目前,对于标准输入输出流的显示,是通过弹出一个外部的命令行窗口,由该命令行窗口显示标准输入输出流,但这种方式无法直接管理建模软件所要显示的内容。
2、有鉴于此,亟需提供一种用于标准输入输出信息转发的方案,以便客户端直接转发、显示以及保存标准输入输出信息,并对该标准输入输出信息进行管理。
技术实现思路
1、为了至少解决如上所提到的一个或多个技术问题,本申请在多个方面中提出了用于标准输入输出信息转发的方案。
2、在第一方面中,本申请提供一种用于标准输入输出信息转发的方法,其中所述方法由消息转发器执行,并且所述方法包括:接收来自于脚本引擎对客户端的原始信息进行解析的解析结果;以及将所述解析结果发送至所述脚本引擎的标准输出缓冲区,并且将所述解析结果转发至所述客户端的消息缓存区。
3、在一个实施例中,其中所述消息转发器包括预定义函数,所述方法还包括:将所述预定义函数置入所述脚本引擎,以替换所述脚本引擎中的原始写函数;以及基于置入所述脚本引擎的预定义函数将所述解析结果发送至所述脚本引擎的标准输出缓冲区,并且将所述解析结果转发至所述客户端的消息缓存区。
4、在另一个实施例中,其中将所述解析结果发送至所述脚本引擎的标准输出缓冲区包括:将所述解析结果转换成字符串;以及基于置入所述脚本引擎的预定义函数向所述脚本引擎的标准输出缓冲区写入所述字符串,以将所述解析结果发送至所述脚本引擎的标准输出缓冲区。
5、在又一个实施例中,其中将所述解析结果转发至所述客户端的消息缓存区包括:基于置入所述脚本引擎的预定义函数将所述字符串传递至目标转发函数;以及根据所述目标转发函数将所述解析结果转发至所述客户端的消息缓存区。
6、在又一个实施例中,其中通过以下操作将所述字符串传递至目标转发函数:通过发射信号、调用回调函数、多线程通信或者多进程通信将所述字符串传递至目标转发函数。
7、在第二方面中,本申请提供一种用于标准输入输出信息转发的消息转发器,包括:数据接收单元,其用于接收来自于脚本引擎对客户端的原始信息进行解析的解析结果;以及消息转发单元,其用于将所述解析结果发送至所述脚本引擎的标准输出缓冲区,并且将所述解析结果转发至所述客户端的消息缓存区。
8、在一个实施中,其中所述消息转发单元包括预定义写函数,并且所述预定义写函数被置入所述脚本引擎,以替换所述脚本引擎中的原始写函数,以将所述解析结果发送至所述脚本引擎的标准输出缓冲区,并且将所述解析结果转发至所述客户端的消息缓存区。
9、在第三方面中,本申请提供一种用于标准输入输出信息转发的系统,包括:根据前述第一方面中的多个实施例所述的消息转发器;客户端,其用于提供原始信息和对所述消息转发器转发的信息进行缓存,以进行后处理;以及脚本引擎,其用于对所述客户端的原始信息进行解析和对所述消息转发器发送的信息进行输出。
10、在第四方面中,本申请提供一种用于标准输入输出信息转发的设备,包括:处理器;以及存储器,其中存储有用于标准输入输出信息转发的程序指令,当所述程序指令由所述处理器执行时,使得所述设备实现前述第一方面中的多个实施例。
11、在第五方面中,本申请提供一种计算机可读存储介质,其上存储有用于标准输入输出信息转发的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现前述第一方面中的多个实施例。
12、通过如上所提供的用于标准输入输出信息转发的方案,本申请实施例通过将脚本引擎对客户端的原始信息进行解析的解析结果发送至脚本引擎的标准输出缓冲区,同时将解析结果转发至客户端的消息缓存区。基于此,可以使得客户端能够直接转发、显示并且保存标准输入输出流,从而便于客户端直接管理标准输入输出流,例如对标准输入输出流进行拦截和修改等。
1.一种用于标准输入输出信息转发的方法,其中所述方法由消息转发器执行,并且所述方法包括:
2.根据权利要求1所述的方法,其中所述消息转发器包括预定义函数,所述方法还包括:
3.根据权利要求1所述的方法,其中将所述解析结果发送至所述脚本引擎的标准输出缓冲区包括:
4.根据权利要求3所述的方法,其中将所述解析结果转发至所述客户端的消息缓存区包括:
5.根据权利要求4所述的方法,其中通过以下操作将所述字符串传递至目标转发函数:通过发射信号、调用回调函数、多线程通信或者多进程通信将所述字符串传递至目标转发函数。
6.一种用于标准输入输出信息转发的消息转发器,包括:
7.根据权利要求6所述的消息转发器,其中所述消息转发单元包括预定义写函数,并且所述预定义写函数被置入所述脚本引擎,以替换所述脚本引擎中的原始写函数,以将所述解析结果发送至所述脚本引擎的标准输出缓冲区,并且将所述解析结果转发至所述客户端的消息缓存区。
8.一种用于标准输入输出信息转发的系统,包括:
9.一种用于标准输入输出信息转发的设备,包括:
10.一种计算机可读存储介质,其上存储有用于标准输入输出信息转发的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现如权利要求1-5任意一项所述的方法。
