[发明专利]基于Node.js的RPC同步通信方法及设备在审
申请号: | 202111039121.3 | 申请日: | 2021-09-06 |
公开(公告)号: | CN113821355A | 公开(公告)日: | 2021-12-21 |
发明(设计)人: | 梁威;阳坤 | 申请(专利权)人: | 长沙博为软件技术股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 赵琴娜 |
地址: | 410215 湖南省长沙市高*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 node js rpc 同步 通信 方法 设备 | ||
本发明公开了一种基于Node.js的RPC同步通信方法及设备,方法应用于本地端,本地端与远程端之间通过TCP连接,方法包括:向远程端发送远程调用函数的请求,并在发送请求之后使用基于c++的Application.DoEvent在缓存中进行循环检测;若在缓存中检测到响应包,则获取响应包对应的响应值;其中响应包由远程端处理请求后产生,并由远程端发送至缓存中。本方法通过本地端循环调用c++层的Application.DoEvent事件处理界面操作,无需将调用模块与被调用模块的函数改为异步函数,降低了远程调用的复杂度,提高了效率。
技术领域
本发明涉及数据通信技术领域,特别涉及一种基于Node.js的RPC同步通信方法及设备。
背景技术
RPC(Remote Procedure Call,远程过程调用),简单的理解是一个节点请求另一个节点提供的服务。
目前基于Node.js(一个基于Chrome V8引擎的JavaScript运行环境)的RPC同步通信采用async/await(异步/等待)等类似的方式模拟同步通信,即客户端或服务端发起请求,等待对方处理并同步返回结果。然而实际开发过程中,有时需要将本地模块改为远程调用,目前使用的做法是使用RPC远程调用。
当本地依赖的模块改为远程模块时,如果需要同步调用(即实现本地与远程的同步调用),则需要将调用模块的接口以及接口调用的函数等修改为异步函数,并在调用时使用等待的语法或在回调中获取返回值后再处理后面的操作。这样将导致模块接口调用的方法都需要改动,尤其是复用本地同步模块时,如果某个函数调用的本地模块改为了远程模块,需要改动跟这个函数相关的大量的函数为异步函数,增加了远程调用的复杂度,并容易忽略改动中的同步等待而导致出现同步问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种基于Node.js的RPC同步通信方法及设备。无需将调用模块与被调用模块的函数改为异步函数,即可实现本地与远程的同步调用,降低了远程调用的复杂度,提高了效率。
本发明的第一方面,提供了一种基于Node.js的RPC同步通信方法,应用于本地端,所述本地端与远程端之间通过TCP连接,包括以下步骤:
向所述远程端发送远程调用函数的请求,并在发送请求之后使用基于c++的Application.DoEvent在缓存中进行循环检测;
若在所述缓存中检测到响应,则获取所述响应;其中所述响应由所述远程端处理所述请求后产生,并由所述远程端发送至所述缓存中。
根据本发明的实施例,至少具有如下技术效果:
本方法通过循环调用c++层的Application.DoEvent事件处理界面操作,防止线程假死,直到检测缓存中出现到此次请求的响应包,此时返回响应包的响应值,结束本次远程调用。本方法通过本地端循环调用c++层的Application.DoEvent事件处理界面操作,无需将调用模块与被调用模块的函数改为异步函数,即可实现本地与远程的同步调用,降低了远程调用的复杂度,提高了效率;尤其是对于复用本地同步模块的情况,不仅避免将请求的函数相关的大量的函数修改为异步函数,而且也避免了因改动中的同步等待而导致出现的同步问题。
本发明的第二方面,提供了一种基于Node.js的RPC同步通信方法,应用于远程端,所述远程端与本地端之间通过TCP连接,所述本地端用于向所述远程端发送远程调用函数的请求,并在发送所述请求之后,使用基于c++的Application.DoEvent在缓存中进行循环检测,所述基于Node.js的RPC同步通信方法包括以下步骤:
接收所述请求;
处理所述请求,并生成响应;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙博为软件技术股份有限公司,未经长沙博为软件技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111039121.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动试管分拣专机
- 下一篇:高稳定性次氯酸溶液的制备方法及制备装置