本發(fā)明涉及遠(yuǎn)程數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用方法及一種通信裝置。
背景技術(shù):
爪哇(Java)是一種跨平臺(tái)的程序設(shè)計(jì)語(yǔ)言。Java反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)類,都能夠知道這個(gè)類的所有屬性和方法;對(duì)于任意一個(gè)對(duì)象,都能夠調(diào)用它的任意一個(gè)方法和屬性;這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能稱為Java語(yǔ)言的反射機(jī)制。在Java語(yǔ)言里,將類名和類生成對(duì)象方法的指針,組成類名的字符串,存放在哈希表里,通過(guò)查找字符串得到對(duì)應(yīng)方法的指針,執(zhí)行就可以生成對(duì)象,從而實(shí)現(xiàn)通過(guò)字符串來(lái)生成對(duì)應(yīng)的對(duì)象。這是反射機(jī)制很好的應(yīng)用且用途很廣。
現(xiàn)在越來(lái)越多的產(chǎn)品需求是提供軟件開(kāi)發(fā)工具包(SDK,Software Development Kit)給用戶進(jìn)行二次開(kāi)發(fā),用戶在本地主機(jī)編寫功能代碼,遠(yuǎn)程連接到遠(yuǎn)端設(shè)備并在遠(yuǎn)端執(zhí)行對(duì)應(yīng)的功能。但在C++語(yǔ)言中,在遠(yuǎn)程函數(shù)調(diào)用場(chǎng)景中,還沒(méi)有具體的方法通過(guò)傳輸字符串產(chǎn)生函數(shù)調(diào)用的功能。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用方法。為了對(duì)披露的實(shí)施例的一些方面有一個(gè)基本的理解,下面給出了簡(jiǎn)單的概括。該概括部分不是泛泛評(píng)述,也不是要確定關(guān)鍵/重要組成元素或描繪這些實(shí)施例的保護(hù)范圍。其唯一目的是用簡(jiǎn)單的形式呈現(xiàn)一些概念,以此作為后面的詳細(xì)說(shuō)明的序言。
本發(fā)明的一個(gè)目的在于提供一種基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用方法。
在一些示意性實(shí)施例中,所述基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用方法包括:接收函數(shù)調(diào)用指令;將函數(shù)調(diào)用所需信息轉(zhuǎn)化為設(shè)定格式的字符串;發(fā)送所述設(shè)定格式的字符串到遠(yuǎn)程服務(wù)端。其中,所述設(shè)定格式的字符串被遠(yuǎn)程服務(wù)端用于調(diào)用本地函數(shù)。
在一些可選實(shí)施例中,所述函數(shù)調(diào)用所需信息包括函數(shù)名、相關(guān)的類名。其中,所述函數(shù)名被所述遠(yuǎn)程服務(wù)端用于獲取函數(shù)地址,所述相關(guān)的類名被所述遠(yuǎn)程服務(wù)端用于創(chuàng)建類實(shí)例。
在一些可選實(shí)施例中,將函數(shù)調(diào)用所需信息轉(zhuǎn)化為設(shè)定格式的字符串包括:創(chuàng)建到所述遠(yuǎn)程服務(wù)端的連接實(shí)例;創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的特定類的代理對(duì)象;調(diào)用函數(shù);將所述特定類的類名和所述函數(shù)的函數(shù)名進(jìn)行數(shù)據(jù)打包,轉(zhuǎn)化為設(shè)定格式的字符串。其中,所述特定類與所述函數(shù)相關(guān)聯(lián)。
在一些可選實(shí)施例中,所述函數(shù)調(diào)用所需信息包括函數(shù)名、相關(guān)的類名,還包括相關(guān)參數(shù);將函數(shù)調(diào)用所需信息轉(zhuǎn)化為設(shè)定格式的字符串包括:創(chuàng)建到所述遠(yuǎn)程服務(wù)端的連接實(shí)例;創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的特定類的代理對(duì)象;調(diào)用函數(shù);將所述特定類的類名、所述函數(shù)的函數(shù)名和相關(guān)參數(shù)進(jìn)行數(shù)據(jù)打包,轉(zhuǎn)化為設(shè)定格式的字符串。其中,所述特定類與所述函數(shù)相關(guān)聯(lián)。
在另一些示意性實(shí)施例中,所述基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用方法包括:接收遠(yuǎn)程客戶端發(fā)送的設(shè)定格式的字符串;解析所述字符串獲得函數(shù)調(diào)用所需信息;調(diào)用本地函數(shù)。
在一些可選實(shí)施例中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名;其中,所述函數(shù)名用于獲取函數(shù)地址,所述相關(guān)的類名用于創(chuàng)建類實(shí)例。
在一些可選實(shí)施例中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,還包括相關(guān)參數(shù);所述調(diào)用本地函數(shù),包括:根據(jù)所述相關(guān)的類名創(chuàng)建類實(shí)例;根據(jù)所述函數(shù)名,利用所述類實(shí)例調(diào)用本地函數(shù)并傳遞所述相關(guān)參數(shù)。
本發(fā)明的另一個(gè)目的是提供一種通信裝置。
在一些示意性實(shí)施例中,所述通信裝置包括信息收發(fā)單元和中央處理單元,其中,所述中央處理單元包括接收函數(shù)調(diào)用指令的第一單元,和,將函數(shù)調(diào)用所需信息轉(zhuǎn)化為設(shè)定格式的字符串的第二單元;所述設(shè)定格式的字符串通過(guò)所述信息收發(fā)單元被發(fā)送到遠(yuǎn)程服務(wù)端。
在一些可選實(shí)施例中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,所述相關(guān)的類名被所述遠(yuǎn)程服務(wù)端用于創(chuàng)建類實(shí)例,所述函數(shù)名被所述遠(yuǎn)程服務(wù)端用于獲取函數(shù)地址。
在一些可選實(shí)施例中,所述第二單元包括創(chuàng)建到所述遠(yuǎn)程服務(wù)端的連接實(shí)例的第一子單元,創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的特定類的代理對(duì)象的第二子單元,和,調(diào)用函數(shù)并將所述特定類的類名和所述函數(shù)的函數(shù)名進(jìn)行數(shù)據(jù)打包轉(zhuǎn)化為設(shè)定格式的字符串的第三子單元。其中,所述特定類與所述函數(shù)相關(guān)聯(lián)。
在一些可選實(shí)施例中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,還包括相關(guān)參數(shù);所述第二單元包括創(chuàng)建到所述遠(yuǎn)程服務(wù)端的連接實(shí)例的第一子單元,創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的特定類的代理對(duì)象的第二子單元,和,調(diào)用函數(shù)并將所述特定類的類名、所述函數(shù)的函數(shù)名及所述相關(guān)參數(shù)進(jìn)行數(shù)據(jù)打包轉(zhuǎn)化為設(shè)定格式的字符串的第四子單元。其中,所述特定類與所述函數(shù)相關(guān)聯(lián)。
在另一些示意性實(shí)施例中,所述通信裝置包括信息收發(fā)單元和中央處理單元,其中,所述信息收發(fā)單元用于接收遠(yuǎn)程客戶端發(fā)送的設(shè)定格式的字符串;所述中央處理單元包括解析所述字符串獲得函數(shù)調(diào)用所需信息的第四單元,和,調(diào)用本地函數(shù)的第五單元。
在一些可選實(shí)施例中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名。其中,所述函數(shù)名用于獲取函數(shù)地址,所述相關(guān)的類名用于創(chuàng)建類實(shí)例。
在一些可選實(shí)施例中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,還包括相關(guān)參數(shù);所述第五單元包括根據(jù)所述類名創(chuàng)建類實(shí)例的第五子單元,和,根據(jù)所述函數(shù)名,利用所述類實(shí)例調(diào)用本地函數(shù)并傳遞所述相關(guān)參數(shù)的第七子單元。
用戶在客戶端基于C++語(yǔ)言調(diào)用函數(shù)時(shí),采用上述實(shí)施例提供的技術(shù)方案,能夠?qū)⒂脩粼诳蛻舳苏{(diào)用函數(shù)的行為轉(zhuǎn)化為向遠(yuǎn)程服務(wù)端發(fā)送包含函數(shù)調(diào)用信息的字符串的行為。通過(guò)客戶端發(fā)送的字符串,服務(wù)端能夠獲得函數(shù)調(diào)用的相關(guān)信息并調(diào)用本地函數(shù),從而使客戶端能夠基于C++語(yǔ)言進(jìn)行遠(yuǎn)程調(diào)用函數(shù)。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說(shuō)明
此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用的方法的流程示意圖;
圖2是根據(jù)另一示例性實(shí)施例示出的基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用的方法的流程示意圖;
圖3a、圖3b是根據(jù)一應(yīng)用實(shí)施例示出的基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用的方法的流程示意圖;
圖4是根據(jù)一示例性實(shí)施例示出的一種通信裝置的框圖
圖5是根據(jù)另一示例性實(shí)施例示出的一種通信裝置的框圖。
具體實(shí)施方式
以下描述和附圖充分地示出本發(fā)明的具體實(shí)施方案,以使本領(lǐng)域的技術(shù)人員能夠?qū)嵺`它們。其他實(shí)施方案可以包括結(jié)構(gòu)的、邏輯的、電氣的、過(guò)程的以及其他的改變。實(shí)施例僅代表可能的變化。除非明確要求,否則單獨(dú)的部件和功能是可選的,并且操作的順序可以變化。一些實(shí)施方案的部分和特征可以被包括在或替換其他實(shí)施方案的部分和特征。本發(fā)明的實(shí)施方案的范圍包括權(quán)利要求書(shū)的整個(gè)范圍,以及權(quán)利要求書(shū)的所有可獲得的等同物。在本文中,各實(shí)施方案可以被單獨(dú)地或總地用術(shù)語(yǔ)“發(fā)明”來(lái)表示,這僅僅是為了方便,并且如果事實(shí)上公開(kāi)了超過(guò)一個(gè)的發(fā)明,不是要自動(dòng)地限制該應(yīng)用的范圍為任何單個(gè)發(fā)明或發(fā)明構(gòu)思。本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用于將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不要求或者暗示這些實(shí)體或操作之間存在任何實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法或者設(shè)備中還存在另外的相同要素。本文中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的方法、產(chǎn)品等而言,由于其與實(shí)施例公開(kāi)的方法部分相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。
圖1示出一個(gè)基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用的示意性流程。
在該示意性實(shí)施例中,所述遠(yuǎn)程函數(shù)調(diào)用的方法包括:接收函數(shù)調(diào)用指令(步驟S11),將函數(shù)調(diào)用所需信息轉(zhuǎn)化為設(shè)定格式的字符串(S12),發(fā)送設(shè)定格式的字符串到遠(yuǎn)程服務(wù)端(S13)。其中,所述設(shè)定格式的字符串被遠(yuǎn)程服務(wù)端用于調(diào)用本地函數(shù)。
用戶在客戶端基于C++語(yǔ)言編寫程序時(shí),當(dāng)用戶在客戶端調(diào)用函數(shù)時(shí),采用本實(shí)施例提供的示意性流程,能夠?qū)⒑瘮?shù)調(diào)用行為轉(zhuǎn)化為向遠(yuǎn)程服務(wù)端發(fā)送字符串的行為。通過(guò)客戶端發(fā)送的字符串,服務(wù)端能夠獲得函數(shù)調(diào)用的相關(guān)信息并調(diào)用本地函數(shù),從而使客戶端能夠基于C++語(yǔ)言進(jìn)行遠(yuǎn)程調(diào)用函數(shù)。
在一些可選實(shí)施方式中,函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名。所述設(shè)定格式的字符串也包含函數(shù)名和相關(guān)的類名。將函數(shù)調(diào)用所需信息轉(zhuǎn)化為設(shè)定格式的字符串包括:創(chuàng)建到所述遠(yuǎn)程服務(wù)端的連接實(shí)例;創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的特定類的代理對(duì)象;調(diào)用函數(shù);將所述特定類的類名和所述函數(shù)的函數(shù)名進(jìn)行數(shù)據(jù)打包,轉(zhuǎn)化為設(shè)定格式的字符串。在一些可選實(shí)施方式中,所述特定類與所述函數(shù)相關(guān)聯(lián)。
通過(guò)客戶端發(fā)送的字符串,服務(wù)端能夠獲得函數(shù)名和相關(guān)的類名,進(jìn)而能夠創(chuàng)建類實(shí)例、獲取函數(shù)地址并調(diào)用本地函數(shù),從而使客戶端能夠基于C++語(yǔ)言進(jìn)行遠(yuǎn)程調(diào)用函數(shù)。
在一些可選實(shí)施方式中,函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,還包括相關(guān)參數(shù)。相應(yīng)地,所述設(shè)定格式的字符串也包含函數(shù)名和相關(guān)的類名,還包含相關(guān)參數(shù)。將函數(shù)調(diào)用所需信息轉(zhuǎn)化為設(shè)定格式的字符串包括:創(chuàng)建到所述遠(yuǎn)程服務(wù)端的連接實(shí)例;創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的特定類的代理對(duì)象;調(diào)用函數(shù);將所述特定類的類名、所述函數(shù)的函數(shù)名和相關(guān)參數(shù)進(jìn)行數(shù)據(jù)打包,轉(zhuǎn)化為設(shè)定格式的字符串。在一些可選實(shí)施方式中,所述特定類與所述函數(shù)相關(guān)聯(lián)。采用本實(shí)施例,通過(guò)提供包含類名、函數(shù)名和參數(shù)的字符串,不僅實(shí)現(xiàn)遠(yuǎn)程調(diào)用函數(shù)且支持函數(shù)變長(zhǎng)參數(shù),解決了服務(wù)端接收到函數(shù)調(diào)用請(qǐng)求數(shù)據(jù)后無(wú)法轉(zhuǎn)換為函數(shù)調(diào)用的問(wèn)題。
在一些可選實(shí)施方式中,發(fā)送所述設(shè)定格式的字符串到遠(yuǎn)程服務(wù)端后,還包括:接收所述遠(yuǎn)程服務(wù)端發(fā)送的函數(shù)調(diào)用結(jié)果。
圖2示出另一個(gè)基于C++語(yǔ)言的遠(yuǎn)程函數(shù)調(diào)用的示意性流程。
在該示意性實(shí)施例中,所述遠(yuǎn)程函數(shù)調(diào)用的方法包括:接收遠(yuǎn)程客戶端發(fā)送的設(shè)定格式的字符串(步驟S21),解析所述字符串獲得函數(shù)調(diào)用所需信息(步驟S22),調(diào)用本地函數(shù)(步驟S23)。
在一些可選實(shí)施方式中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,其中,函數(shù)名用于獲取函數(shù)地址,相關(guān)的類名用于創(chuàng)建類實(shí)例。所述調(diào)用本地函數(shù),包括:根據(jù)所述函數(shù)名,利用所述類實(shí)例調(diào)用本地函數(shù)。
在一些可選實(shí)施方式中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,還包括相關(guān)參數(shù),所述相關(guān)參數(shù)被用于函數(shù)調(diào)用。所述調(diào)用本地函數(shù),包括:根據(jù)所述函數(shù)名,利用所述類實(shí)例調(diào)用本地函數(shù)并傳遞所述相關(guān)參數(shù)。
在一些可選實(shí)施方式中,調(diào)用本地函數(shù)后還包括:將函數(shù)調(diào)用結(jié)果發(fā)送給所述遠(yuǎn)程客戶端。
在一個(gè)應(yīng)用場(chǎng)景中,用戶的主機(jī)作為客戶端通過(guò)網(wǎng)絡(luò)連接到機(jī)器人服務(wù)端,用戶在自己的主機(jī)上利用提供的SDK編寫需要實(shí)現(xiàn)的功能代碼,例如控制機(jī)器人前進(jìn)。函數(shù)調(diào)用的部分偽代碼如表1所示。
表1基于C++的遠(yuǎn)程函數(shù)調(diào)用部分偽代碼
在該應(yīng)用場(chǎng)景中,SDK將前進(jìn)函數(shù)forward()的調(diào)用過(guò)程轉(zhuǎn)化為向機(jī)器人服務(wù)端發(fā)送字符串的行為,示意性的流程如圖3a所示。
步驟S311,接收前進(jìn)函數(shù)forward()的調(diào)用指令。
步驟S312,創(chuàng)建到機(jī)器人服務(wù)端的連接實(shí)例broker。
步驟S313,創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的動(dòng)作類代理對(duì)象motionProxy。
步驟S314,調(diào)用前進(jìn)函數(shù)proxy.forward()。
需要說(shuō)明的是,控制機(jī)器人前進(jìn)是控制機(jī)器人做出前進(jìn)的動(dòng)作,屬于控制機(jī)器人做出動(dòng)作,因此在創(chuàng)建代理對(duì)象時(shí)需要?jiǎng)?chuàng)建動(dòng)作類代理對(duì)象。即,代理對(duì)象的類與所調(diào)用的函數(shù)之間具有關(guān)聯(lián)性。在其它場(chǎng)景中,例如控制機(jī)器人進(jìn)行語(yǔ)音識(shí)別或圖像識(shí)別,在調(diào)用語(yǔ)音識(shí)別函數(shù)或圖像識(shí)別函數(shù)時(shí),代理對(duì)象的類將隨之改變,例如為識(shí)別類代理對(duì)象,而不是動(dòng)作類代理對(duì)象。
步驟S315,調(diào)用C++中通用的函數(shù)Callfunction將類名“motionProxy”、函數(shù)名“forward()”及參數(shù)列表進(jìn)行數(shù)據(jù)打包,轉(zhuǎn)化為設(shè)定格式的字符串。
步驟S316,發(fā)送設(shè)定格式的字符串到機(jī)器人服務(wù)端。
步驟S317,等待機(jī)器人服務(wù)端返回函數(shù)調(diào)用的結(jié)果。
機(jī)器人服務(wù)端接收字符串并調(diào)用函數(shù)的示意性流程如圖3b所示。
步驟S321,接收客戶端主機(jī)發(fā)送的設(shè)定格式的字符串;
步驟S322,解析字符串獲得函數(shù)名“forward()”、類名“motionProxy”和參數(shù)列表。
步驟S323,根據(jù)類名“motionProxy”創(chuàng)建類實(shí)例??蛇x的部分可供參考的偽代碼包括“instance=new motionProxy”。
步驟S324,根據(jù)函數(shù)名“forward()”,利用類實(shí)例調(diào)用本地函數(shù)并傳遞參數(shù)列表??蛇x的部分可供參考的偽代碼包括“instance->forward(params)”。
步驟S325,將函數(shù)調(diào)用結(jié)果發(fā)送給客戶端主機(jī)。
圖4示出一個(gè)可選的通信裝置的示意性結(jié)構(gòu)。
該示意性實(shí)施例中,所述通信裝置包括信息收發(fā)單元S1和中央處理單元S2,所述中央處理單元S2包括第一單元S201和第二單元S202。
第一單元S201用于接收函數(shù)調(diào)用指令。第二單元S202用于將函數(shù)調(diào)用所需信息轉(zhuǎn)化為設(shè)定格式的字符串。信息收發(fā)單元S1將所述設(shè)定格式的字符串發(fā)送到遠(yuǎn)程服務(wù)端。
在一些可選實(shí)施方式中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名。其中,所述函數(shù)名被所述遠(yuǎn)程服務(wù)端用于獲取函數(shù)地址,所述相關(guān)的類名被所述遠(yuǎn)程服務(wù)端用于創(chuàng)建類實(shí)例。第二單元S202包括創(chuàng)建到所述遠(yuǎn)程服務(wù)端的連接實(shí)例的第一子單元,創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的特定類的代理對(duì)象的第二子單元,和,調(diào)用函數(shù)并將所述特定類的類名和所述函數(shù)的函數(shù)名進(jìn)行數(shù)據(jù)打包轉(zhuǎn)化為設(shè)定格式的字符串的第三子單元。其中,所述特定類與所述本地函數(shù)相關(guān)聯(lián)。
在另一些可選實(shí)施方式中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,還包括相關(guān)參數(shù)。第二單元S202包括創(chuàng)建到所述遠(yuǎn)程服務(wù)端的連接實(shí)例的第一子單元,創(chuàng)建關(guān)聯(lián)所述連接實(shí)例的特定類的代理對(duì)象的第二子單元,和,調(diào)用函數(shù)并將所述特定類的類名、所述函數(shù)的函數(shù)名及所述相關(guān)參數(shù)進(jìn)行數(shù)據(jù)打包轉(zhuǎn)化為設(shè)定格式的字符串的第四子單元。
在一些可選實(shí)施方式中,所述信息收發(fā)單元還用于在發(fā)送所述設(shè)定格式的字符串到遠(yuǎn)程服務(wù)端后,接收所述遠(yuǎn)程服務(wù)端發(fā)送的函數(shù)調(diào)用結(jié)果。
圖5示出另一個(gè)可選的通信裝置的示意性結(jié)構(gòu)。
該示意性實(shí)施例中,所述通信裝置包括信息收發(fā)單元S3和中央處理單元S4。信息收發(fā)單元S3用于接收遠(yuǎn)程客戶端發(fā)送的設(shè)定格式的字符串;中央處理單元S4包括第四單元S401和第五單元S402。
第四單元S401用于解析所述字符串獲得函數(shù)調(diào)用所需信息,第五單元S402用于調(diào)用本地函數(shù)。
在一些可選實(shí)施方式中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名。其中,所述函數(shù)名用于獲取函數(shù)地址,所述相關(guān)的類名用于創(chuàng)建類實(shí)例。第五單元S402包括根據(jù)所述相關(guān)的類名創(chuàng)建類實(shí)例的第五子單元,和,根據(jù)所述函數(shù)名,利用所述類實(shí)例調(diào)用本地函數(shù)的第六子單元。
在另一些可選實(shí)施方式中,所述函數(shù)調(diào)用所需信息包括函數(shù)名和相關(guān)的類名,還包括相關(guān)參數(shù);所述第五單元包括根據(jù)所述相關(guān)的類名創(chuàng)建類實(shí)例的第五子單元,和,根據(jù)所述函數(shù)名,利用所述類實(shí)例調(diào)用本地函數(shù)并傳遞所述相關(guān)參數(shù)的第七子單元。
在一些可選實(shí)施方式中,信息收發(fā)單元S3還用于將函數(shù)調(diào)用結(jié)果發(fā)送給所述遠(yuǎn)程客戶端。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器,上述指令可由處理器執(zhí)行以完成前文所述的方法。上述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器(Read Only Memory,ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、磁帶和光存儲(chǔ)設(shè)備等。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。所屬技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
本文所披露的實(shí)施例中,應(yīng)該理解到,所揭露的方法、產(chǎn)品(包括但不限于裝置、設(shè)備等),可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的流程及結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。