基于C++语言的远程函数调用方法、通信装置制造方法及图纸

技术编号:15329303 阅读:36 留言:0更新日期:2017-05-16 13:00
本发明专利技术实施例公开一种基于C++语言的远程函数调用方法,包括:接收函数调用指令;将函数调用所需信息转化为设定格式的字符串;发送所述设定格式的字符串到远程服务端。用户在客户端基于C++语言调用函数时,采用上述实施例提供的技术方案,能够将用户在客户端调用函数的行为转化为向远程服务端发送包含函数调用信息的字符串的行为。通过客户端发送的字符串,服务端能够获得函数调用的相关信息并调用本地函数,从而使客户端能够基于C++语言进行远程调用函数。本发明专利技术还公开一种通信装置。

Remote function call method and communication device based on C++ language

The embodiment of the invention discloses a method invocation, remote function based on C++ language includes: receiving a function call instruction; the function calls required information into a string format; transmitting the formatted string to a remote server. C++ language function calls based on user client, adopting the technical proposal of the embodiment can be provided by users in the client calls the function behavior into a string containing the function call information to the remote server sending behavior. Through the client sent string, the server can get the function call related information, and call the local function, so that the client can be based on the C++ language remote call function. The invention also discloses a communication device.

【技术实现步骤摘要】
基于C++语言的远程函数调用方法、通信装置
本专利技术涉及远程数据处理
,特别涉及一种基于C++语言的远程函数调用方法及一种通信装置。
技术介绍
爪哇(Java)是一种跨平台的程序设计语言。Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。在Java语言里,将类名和类生成对象方法的指针,组成类名的字符串,存放在哈希表里,通过查找字符串得到对应方法的指针,执行就可以生成对象,从而实现通过字符串来生成对应的对象。这是反射机制很好的应用且用途很广。现在越来越多的产品需求是提供软件开发工具包(SDK,SoftwareDevelopmentKit)给用户进行二次开发,用户在本地主机编写功能代码,远程连接到远端设备并在远端执行对应的功能。但在C++语言中,在远程函数调用场景中,还没有具体的方法通过传输字符串产生函数调用的功能。
技术实现思路
本专利技术实施例提供了一种基于C++语言的远程函数调用方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。本专利技术的一个目的在于提供一种基于C++语言的远程函数调用方法。在一些示意性实施例中,所述基于C++语言的远程函数调用方法包括:接收函数调用指令;将函数调用所需信息转化为设定格式的字符串;发送所述设定格式的字符串到远程服务端。其中,所述设定格式的字符串被远程服务端用于调用本地函数。在一些可选实施例中,所述函数调用所需信息包括函数名、相关的类名。其中,所述函数名被所述远程服务端用于获取函数地址,所述相关的类名被所述远程服务端用于创建类实例。在一些可选实施例中,将函数调用所需信息转化为设定格式的字符串包括:创建到所述远程服务端的连接实例;创建关联所述连接实例的特定类的代理对象;调用函数;将所述特定类的类名和所述函数的函数名进行数据打包,转化为设定格式的字符串。其中,所述特定类与所述函数相关联。在一些可选实施例中,所述函数调用所需信息包括函数名、相关的类名,还包括相关参数;将函数调用所需信息转化为设定格式的字符串包括:创建到所述远程服务端的连接实例;创建关联所述连接实例的特定类的代理对象;调用函数;将所述特定类的类名、所述函数的函数名和相关参数进行数据打包,转化为设定格式的字符串。其中,所述特定类与所述函数相关联。在另一些示意性实施例中,所述基于C++语言的远程函数调用方法包括:接收远程客户端发送的设定格式的字符串;解析所述字符串获得函数调用所需信息;调用本地函数。在一些可选实施例中,所述函数调用所需信息包括函数名和相关的类名;其中,所述函数名用于获取函数地址,所述相关的类名用于创建类实例。在一些可选实施例中,所述函数调用所需信息包括函数名和相关的类名,还包括相关参数;所述调用本地函数,包括:根据所述相关的类名创建类实例;根据所述函数名,利用所述类实例调用本地函数并传递所述相关参数。本专利技术的另一个目的是提供一种通信装置。在一些示意性实施例中,所述通信装置包括信息收发单元和中央处理单元,其中,所述中央处理单元包括接收函数调用指令的第一单元,和,将函数调用所需信息转化为设定格式的字符串的第二单元;所述设定格式的字符串通过所述信息收发单元被发送到远程服务端。在一些可选实施例中,所述函数调用所需信息包括函数名和相关的类名,所述相关的类名被所述远程服务端用于创建类实例,所述函数名被所述远程服务端用于获取函数地址。在一些可选实施例中,所述第二单元包括创建到所述远程服务端的连接实例的第一子单元,创建关联所述连接实例的特定类的代理对象的第二子单元,和,调用函数并将所述特定类的类名和所述函数的函数名进行数据打包转化为设定格式的字符串的第三子单元。其中,所述特定类与所述函数相关联。在一些可选实施例中,所述函数调用所需信息包括函数名和相关的类名,还包括相关参数;所述第二单元包括创建到所述远程服务端的连接实例的第一子单元,创建关联所述连接实例的特定类的代理对象的第二子单元,和,调用函数并将所述特定类的类名、所述函数的函数名及所述相关参数进行数据打包转化为设定格式的字符串的第四子单元。其中,所述特定类与所述函数相关联。在另一些示意性实施例中,所述通信装置包括信息收发单元和中央处理单元,其中,所述信息收发单元用于接收远程客户端发送的设定格式的字符串;所述中央处理单元包括解析所述字符串获得函数调用所需信息的第四单元,和,调用本地函数的第五单元。在一些可选实施例中,所述函数调用所需信息包括函数名和相关的类名。其中,所述函数名用于获取函数地址,所述相关的类名用于创建类实例。在一些可选实施例中,所述函数调用所需信息包括函数名和相关的类名,还包括相关参数;所述第五单元包括根据所述类名创建类实例的第五子单元,和,根据所述函数名,利用所述类实例调用本地函数并传递所述相关参数的第七子单元。用户在客户端基于C++语言调用函数时,采用上述实施例提供的技术方案,能够将用户在客户端调用函数的行为转化为向远程服务端发送包含函数调用信息的字符串的行为。通过客户端发送的字符串,服务端能够获得函数调用的相关信息并调用本地函数,从而使客户端能够基于C++语言进行远程调用函数。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1是根据一示例性实施例示出的基于C++语言的远程函数调用的方法的流程示意图;图2是根据另一示例性实施例示出的基于C++语言的远程函数调用的方法的流程示意图;图3a、图3b是根据一应用实施例示出的基于C++语言的远程函数调用的方法的流程示意图;图4是根据一示例性实施例示出的一种通信装置的框图图5是根据另一示例性实施例示出的一种通信装置的框图。具体实施方式以下描述和附图充分地示出本专利技术的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本专利技术的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“专利技术”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的专利技术,不是要自动地限制该应用的范围为任何单个专利技术或专利技术构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法本文档来自技高网...
基于C++语言的远程函数调用方法、通信装置

【技术保护点】
一种基于C++语言的远程函数调用方法,其特征在于,包括:接收函数调用指令;将函数调用所需信息转化为设定格式的字符串;发送所述设定格式的字符串到远程服务端。

【技术特征摘要】
1.一种基于C++语言的远程函数调用方法,其特征在于,包括:接收函数调用指令;将函数调用所需信息转化为设定格式的字符串;发送所述设定格式的字符串到远程服务端。2.如权利要求1所述的远程函数调用方法,其特征在于,将函数调用所需信息转化为设定格式的字符串包括:创建到所述远程服务端的连接实例;创建关联所述连接实例的特定类的代理对象;调用函数;将所述特定类的类名和所述函数的函数名进行数据打包,转化为设定格式的字符串。3.如权利要求1或2所述的远程函数调用方法,其特征在于,发送所述设定格式的字符串到远程服务端后,还包括:接收所述远程服务端发送的函数调用结果。4.一种基于C++语言的远程函数调用方法,其特征在于,包括:接收远程客户端发送的设定格式的字符串;解析所述字符串获得函数调用所需信息;调用本地函数。5.如权利要求4所述的远程函数调用方法,其特征在于,所述调用本地函数包括:根据所述相关的类名创建类实例,并根据所述函数名,利用所述类实例调用本地函数。6.如权利要求4或5所述的远程函数调用方法,其特征在于,还包括:将函数调用结果发送给所述远程客户端。7.一种通信装置,包括信息收发单元和中央处理单元,其特征在于,所述中央处理单元包括...

【专利技术属性】
技术研发人员:熊友军朱德军粟德森
申请(专利权)人:深圳市优必选科技有限公司
类型:发明
国别省市:广东,44

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

1