System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,具体涉及一种多进程的通信方法、电子设备及计算机存储介质。
技术介绍
1、electron应用是支持主进程与窗口子进程、窗口子进程与其他窗口子进程通信的。
2、目前,electron应用中窗口子进程之间的通信、节点子进程之间的通信均通过主进程代理,即主进程转发两个窗口子进程的消息,或转发两个节点子进程的消息。
3、窗口子进程间通信及节点子进程间的通信都是使用主进程代理的方式,使应用程序编程接口(api,application programming interface)调用比较繁琐,效率比较低。
技术实现思路
1、针对现有技术中多个子进程间通信效率低下的问题,本申请提出一种多进程的通信方法、电子设备及计算机存储介质。
2、为解决上述技术问题,本申请采用的一个技术方案是:提供一种多进程的通信方法,该通信方法包括:响应于成功创建新的子进程,更新进程通信录;其中,更新后的进程通信录包括所有已成功创建的子进程的进程类型;向每一已成功创建的子进程发送更新后的进程通信录,以使每一已成功创建的子进程在存在通信需求的情况下,基于自身的进程类型及待通信的子进程的进程类型确定通信方式,并基于通信方式与待通信的子进程进行通信。
3、其中,进程通信录还包括每两种类型的子进程之间的通信方式。
4、其中,响应于成功创建新的子进程,更新进程通信录,包括:创建新的子进程;从新的子进程接收订阅进程通信录的更新消息及进程创建成功消息;更新进程通
5、其中,已成功创建的子进程的进程类型包括窗口类型及节点类型,每两个窗口类型的子进程之间的通信方式包括messageport方式,每两个节点类型的子进程之间的通信方式包括socket方式,窗口类型的子进程与节点类型的子进程之间的通信方式包括socket方式或主进程代理方式。
6、其中,进程通信录还包括所述子进程的进程标识。
7、为解决上述技术问题,本申请采用的另一个技术方案是:提供一种多进程的通信方法。该通信方法包括:响应于进程创建成功,向主进程发送反馈消息,以使得主进程基于反馈消息更新进程通信录;其中,更新后的进程通信录包括所有已成功创建的子进程的进程类型;响应于通信需求,从主进程获取更新后的进程通信录;基于自身的进程类型及待通信的子进程的进程类型确定通信方式,并基于通信方式与待通信的子进程进行通信。
8、其中,进程通信录还包括子进程的多类通信方式,子进程与不同进程类型的待通信的子进程采用不同的通信方式,基于自身的进程类型及待通信的子进程的进程类型确定通信方式,包括:获取待通信的子进程的进程类型;从对应的多类通信方式中获取与待通信的子进程的进程类型对应的通信方式。
9、其中,反馈消息包括订阅进程通信录的更新消息及进程创建成功消息,响应于进程创建成功,向主进程发送反馈消息,以使得主进程基于反馈消息更新进程通信录,包括:响应于进程创建成功,向主进程发送订阅进程通信录的更新消息;向主进程发送创建成功消息,以使得主进程基于反馈消息更新进程通信录。
10、其中,进程类型至少包括窗口类型及节点类型,基于自身的进程类型及待通信的子进程的进程类型确定通信方式,包括:响应于自身的进程类型为窗口类型,且待通信的子进程的进程类型为窗口类型,确定通信方式为messageport方式;响应于自身的进程类型为节点类型,且待通信的子进程的进程类型为节点类型,确定通信方式为socket方式;响应于自身的进程类型为窗口类型,且待通信的子进程的进程类型为节点类型,或者响应于自身的进程类型为节点类型,且待通信的子进程的进程类型为窗口类型,确定通信方式为socket方式或主进程代理方式。
11、其中,确定通信方式为socket方式或主进程代理方式,包括:响应于自身的进程类型禁用待通信的子进程的进程类型,则确定通信方式为主进程代理方式。
12、为解决上述技术问题,本申请采用的另一个技术方案是:提供了一种电子设备,该电子设备包括处理器以及与处理器连接的存储器,其中,存储器中存储有程序数据,处理器执行存储器存储的程序数据,以执行实现上述任一项的通信方法。
13、为解决上述技术问题,本申请采用的另一个技术方案是:提供了一种计算机可读存储介质,其内部存储有程序指令,程序指令被执行以实现上述任一项的通信方法。
14、本申请的有益效果是:区别于现有技术的情况,本申请主进程设有进程通信录,并在成功创建新的子进程时更新进程通信录,更新后的进程通信录包括所有已成功创建的子进程的进程类型;主进程进一步向每一已成功创建的子进程发送所述更新后的进程通信录,以使每一已成功创建的子进程在存在通信需求的情况下,基于自身的进程类型及待通信的子进程的进程类型确定通信方式,并基于通信方式与待通信的子进程进行通信。通过这种方式,当每一已成功创建的子进程存在通信需求时,子进程能够从进程通信录的记录中获取与子进程自身的进程类型及待通信的子进程的进程类型选择对应的通信方式与待通信的子进程进行通信,而无需采用主进程代理的方式,能够简化api调用,不仅能够提高通信效率,而且能够提高进程间通信效率。
本文档来自技高网...【技术保护点】
1.一种多进程的通信方法,其特征在于,所述通信方法包括:
2.根据权利要求1所述的通信方法,其特征在于,所述进程通信录还包括每两种类型的子进程之间的通信方式。
3.根据权利要求1或2所述的通信方法,其特征在于,所述响应于成功创建新的子进程,更新进程通信录,包括:
4.根据权利要求2所述的通信方法,其特征在于,所述已成功创建的子进程的进程类型包括窗口类型及节点类型,每两个窗口类型的子进程之间的通信方式包括messagePort方式,每两个节点类型的子进程之间的通信方式包括socket方式,窗口类型的子进程与节点类型的子进程之间的通信方式包括socket方式或主进程代理方式。
5.根据权利要求2所述的通信方法,其特征在于,所述进程通信录还包括所述子进程的进程标识。
6.一种多进程的通信方法,其特征在于,所述通信方法包括:
7.根据权利要求6所述的通信方法,其特征在于,所述进程通信录还包括所述子进程的多类通信方式,所述子进程与不同进程类型的待通信的子进程采用不同的所述通信方式,基于自身的进程类型及待通信的子进程的进
8.根据权利要求6所述的通信方法,其特征在于,所述反馈消息包括订阅进程通信录的更新消息及进程创建成功消息,所述响应于进程创建成功,向主进程发送反馈消息,以使得所述主进程基于所述反馈消息更新进程通信录,包括:
9.根据权利要求6所述的通信方法,其特征在于,所述进程类型至少包括窗口类型及节点类型,所述基于自身的进程类型及待通信的子进程的进程类型确定通信方式,包括:
10.根据权利要求9所述的通信方法,其特征在于,所述确定所述通信方式为socket方式或主进程代理方式,包括:
11.一种电子设备,其特征在于,所述电子设备包括处理器以及与所述处理器连接的存储器,其中,所述存储器中存储有程序数据,所述处理器执行所述存储器存储的所述程序数据,以执行实现权利要求1至5所述的通信方法和/或权利要求6至10所述的通信方法。
12.一种计算机存储介质,其特征在于,其内部存储有程序指令,所述程序指令被执行以实现权利要求1至5所述的通信方法和/或权利要求6至10所述的通信方法。
...【技术特征摘要】
1.一种多进程的通信方法,其特征在于,所述通信方法包括:
2.根据权利要求1所述的通信方法,其特征在于,所述进程通信录还包括每两种类型的子进程之间的通信方式。
3.根据权利要求1或2所述的通信方法,其特征在于,所述响应于成功创建新的子进程,更新进程通信录,包括:
4.根据权利要求2所述的通信方法,其特征在于,所述已成功创建的子进程的进程类型包括窗口类型及节点类型,每两个窗口类型的子进程之间的通信方式包括messageport方式,每两个节点类型的子进程之间的通信方式包括socket方式,窗口类型的子进程与节点类型的子进程之间的通信方式包括socket方式或主进程代理方式。
5.根据权利要求2所述的通信方法,其特征在于,所述进程通信录还包括所述子进程的进程标识。
6.一种多进程的通信方法,其特征在于,所述通信方法包括:
7.根据权利要求6所述的通信方法,其特征在于,所述进程通信录还包括所述子进程的多类通信方式,所述子进程与不同进程类型的待通信的子进程采用不同的所述通信方式,基于自身的进程类型...
【专利技术属性】
技术研发人员:沈敬荣,
申请(专利权)人:广州视臻信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。