[发明专利]一种利用electron框架实现应用层和底层通信的方法有效
申请号: | 201811219390.6 | 申请日: | 2018-10-19 |
公开(公告)号: | CN109634751B | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 李文杰;李乐乐 | 申请(专利权)人: | 深圳市网旭科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳力拓知识产权代理有限公司 44313 | 代理人: | 龚健 |
地址: | 518055 广东省深圳市南山区南山街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 electron 框架 实现 应用 底层 通信 方法 | ||
本发明公开了一种利用electron框架实现应用层和底层通信的方法,其特征在于,包含以下步骤:A、插件层的初始化:把插件层的接口和js层的接口形成映射,并在插件层做相关初始化工作;B、应用层跟插件层通信:js层通过调用与插件层映射的接口将数据传递给插件层,这些数据将会被封装成json流的格式,之后插件层又将会解析json流来判断调用对应的C/C++接口来实现功能;C、插件层跟应用层通信:插件层调用C/C++接口之后,将回调和返回的数据封装成json流的形式,传递给js层,完成整个通信过程。
技术领域
本发明涉及一种通信方法,具体是一种利用electron框架实现应用层和底层通信的方法。
背景技术
JavaScript,在浏览器中,它操作DOM和BOM,在服务器端它操作FileSystem,HTTP,所以在任何环境,他都可以执行,即使是在几M的内存环境。在浏览器里,Web页面通常运行在一个沙盒环境里,它不能访问本地的资源。但是有很多相关模块都是能够通过C/C++进行访问,C/C++又恰好是跨平台的语言。这种情况下,electron的出现就将JavaScript和C/C++完美的结合,使之能够在electron的环境框架里面运行。
JSON(JavaScript Object Notation)是轻量级数据交换格式,它有如下优点1.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小,2.易于解析这种语言,客户端JavaScript可以简单的通过eval()进行JSON数据的读取,支持多种语言,包括(C、C++、Javascript等),正是基于它的这些优点,本发明的数据交互格式就是用的json的形式。
发明内容
本发明的目的在于提供一种利用electron框架实现应用层和底层通信的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种利用electron框架实现应用层和底层通信的方法,包含以下步骤:
A、插件层的初始化:把插件层的接口和js层的接口形成映射,并在插件层做相关初始化工作;
B、应用层跟插件层通信:js层通过调用与插件层映射的接口将数据传递给插件层,这些数据将会被封装成json流的格式,之后插件层又将会解析json流来判断调用对应的C/C++接口来实现功能;
C、插件层跟应用层通信:插件层调用C/C++接口之后,将回调和返回的数据封装成json流的形式,传递给js层,完成整个通信过程。
作为本发明的优选方案:所述步骤B中的数据包含Key、MsgID和Value字段。
作为本发明的优选方案:所述插件层是连接应用层和底层的中间层。
作为本发明的优选方案:所述步骤A具体包括如下步骤:(1)通过js require接口来加载插件,并进行相关初始化工作,(2)此时插件层会将js的接口和插件层的接口形成映射,(3)启动一个线程去监听js层发送过来的命令,(4)创建一个Async对象准备后面调用C/C++接口之后向js层发送封装好的json流数据。
作为本发明的优选方案:所述步骤B是通过google的V8引擎机制来实现js层和插件层数据传输交互。
作为本发明的优选方案:所述步骤B包括如下步骤:(1)js将需要发送给插件层的命令封装层json流数据的形式,js层调用步骤1中和插件层映射的接口将js层的数据将该数据传递给插件层,(2)插件层将这些命令存放在一个消息队列里面,此时步骤1中的那个解析js层发送过来的命令的线程就开始解析消息队列里面的命令,通过解析命令来决定调用底层哪个C/C++接口以及这个接口需要的参数(3)解析完成之后另起一个线程去执行对应接口,等待接口返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市网旭科技有限公司,未经深圳市网旭科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811219390.6/2.html,转载请声明来源钻瓜专利网。