[发明专利]进程间的通信方法及系统在审
| 申请号: | 201510466483.9 | 申请日: | 2015-07-30 |
| 公开(公告)号: | CN105068878A | 公开(公告)日: | 2015-11-18 |
| 发明(设计)人: | 李鹏 | 申请(专利权)人: | 汉柏科技有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
| 地址: | 300384 天津市滨海新*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 进程 通信 方法 系统 | ||
1.一种进程间的通信方法,其特征在于,包括:
第一进程将第一变量和待发送的参数依次存放在预先申请的内存中,其中每个待发送的参数以’/0’作为结尾,所述第一变量用于存储待发送的参数的个数;
所述第一进程将包含第一变量和待发送的参数的第一消息发送给第二进程;
所述第二进程在接收到所述第一消息之后,根据所述第一消息中的第一变量获取第一消息中的参数的个数;
所述第二进程根据所述第一消息中的参数的个数生成指针数组,并利用所述指针数组依次读取第一消息中的所有参数。
2.根据权利要求1所述的方法,其特征在于,在第一进程将第一变量和待发送的参数依次存放在预先申请的内存中之前,所述方法还包括:
所述第一进程根据所述第一变量和待发送的参数申请一块大小为M1的内存:
M1=sizeof1+strlen1+strlen2+…+strlenN+N;
其中,N为第一消息中的参数的个数,sizeof1为第一变量的数据类型的长度,strlen1为第一个参数的长度,strlen2为第二个参数的长度,strlenN为第N个参数的长度,单位为字节。
3.根据权利要求1或2所述的方法,其特征在于,第二进程根据所述第一消息中的参数的个数生成指针数组,并利用所述指针数组依次读取第一消息中的所有参数包括:
所述第二进程根据所述第一消息中的参数的个数生成指针数组,其中所述指针数组的数组元素分别为p[0],p[1],…,p[N-1];
利用p[0]读取第一个参数,利用p[i]=p[i-1]+strlen(p[i-1])+1读取第i+1个参数,其中1≤i≤N,N为第一消息中的参数的个数,strlen(p[i-1])为第i个参数的长度;
所述数组元素p[0]指向第一消息中第一个参数的起始地址,所述数组元素p[i-1]指向第一消息中第i个参数的起始地址。
4.根据权利要求3所述的方法,其特征在于,在第二进程根据所述第一消息中的参数的个数生成指针数组之前,所述方法还包括:
所述第二进程根据所述第一消息中的参数的个数申请一块大小为M2的内存:
M2=sizeof2*N;
其中,sizeof2为一个指针需要的内存大小。
5.根据权利要求2所述的方法,其特征在于,所述第一变量的数据类型为整型或字符型。
6.一种进程间的通信系统,其特征在于,包括:第一进程通信装置和第二进程通信装置;
所述第一进程通信装置包括存放单元和发送单元;
所述第二进程通信装置包括接收单元、获取单元和读取单元;
所述存放单元,用于将第一变量和待发送的参数依次存放在预先申请的内存中,其中每个待发送的参数以’/0’作为结尾,所述第一变量用于存储待发送的参数的个数;
所述发送单元,用于将包含第一变量和待发送的参数的第一消息发送给所述第二进程通信装置;
所述接收单元,用于接收所述第一进程通信装置发送的第一消息;
所述获取单元,用于根据所述第一消息中的第一变量获取第一消息中的参数的个数;
所述读取单元,用于根据所述第一消息中的参数的个数生成指针数组,并利用所述指针数组依次读取第一消息中的所有参数。
7.根据权利要求6所述的系统,其特征在于,所述第一进程通信装置还包括第一申请单元,所述第一申请单元用于根据所述第一变量和待发送的参数申请一块大小为M1的内存:
M1=sizeof1+strlen1+strlen2+…+strlenN+N;
其中,N为第一消息中的参数的个数,sizeof1为第一变量的数据类型的长度,strlen1为第一个参数的长度,strlen2为第二个参数的长度,strlenN为第N个参数的长度,单位为字节。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510466483.9/1.html,转载请声明来源钻瓜专利网。





