预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113347151A(43)申请公布日2021.09.03(21)申请号202110464179.6(22)申请日2021.04.28(71)申请人厦门海迈科技股份有限公司地址361008福建省厦门市思明区软件园二期观日路20号101(72)发明人郑丽丽张泓金季岚黄建新(74)专利代理机构北京科家知识产权代理事务所(普通合伙)11427代理人钟斌(51)Int.Cl.H04L29/06(2006.01)G06F9/54(2006.01)权利要求书1页说明书5页附图6页(54)发明名称一种基于socket共享内存的数据交互方法(57)摘要本发明公开了一种基于socket共享内存的数据交互方法,第一客户端确定当前是否需要调用第二客户端的应用提供的服务,若是则设置自身为阻塞状态,调整自身为发送端,所述第二客户端为第一接收端;发送端向第一接收端发送消息请求,并在预设时间内解除阻塞状态,发送端切换为第二接收端;第二接收端接收第一接收端根据消息请求返回的处理结果。也就是说,本发明实施例通过一个应用既可以为Host端接收Client端发送的数据请求消息,同时这个应用又可以为Client端向其他Host端应用发送的数据请求消息,通过Host端和Client端模式切换实现应用间数据交互。CN113347151ACN113347151A权利要求书1/1页1.一种基于socket共享内存的数据交互方法,其特征在于,包括:第一客户端确定当前是否需要调用第二客户端的应用提供的服务,若是则设置自身为阻塞状态,调整自身为发送端,所述第二客户端为第一接收端;所述发送端向第一接收端发送消息请求,并在预设时间内解除阻塞状态,所述发送端切换为第二接收端;所述第二接收端接收所述第一接收端根据所述消息请求返回的处理结果。2.根据权利要求1所述的数据交互方法,其特征在于,在所述发送端向第一接收端发送消息请求之前,所述方法包括:所述发送端与所述第一接收端约定消息报文格式;其中,所述消息报文格式为消息头+消息内容长度+消息内容。3.根据权利要求1所述的数据交互方法,其特征在于,所述方法还包括:第一客户端确定当前是否需要调用第二客户端的应用提供的服务,若否则解除自身的阻塞状态,调整自身为接收端,所述第二客户端为第一发送端;所述接收端接收第一发送端的第一请求消息;所述接收端判断所述第一请求消息的类别;所述接收端根据所述第一请求消息的类别对应消息处理并返回处理结果。4.根据权利要求3所述的数据交互方法,其特征在于,所述方法还包括:所述接收端确定所述第一请求消息为即时消息;所述接收端根据所述第一请求消息从所述接收端的服务工厂调用解析方法解析所述第一请求消息;所述接收端将所述第一请求消息的解析结果返回所述第一发送端。5.根据权利要求3所述的数据交互方法,其特征在于,所述方法还包括:所述接收端确定所述第一请求消息为队列消息;所述接收端将所述第一请求消息添加并存储至消息队列;所述接收端中的消息处理器依次对所述消息队列中的消息进行解析处理,并返回解析结果。6.根据权利要求5所述的数据交互方法,其特征在于,所述接收端将所述第一请求消息添加并存储至消息队列之前,所述方法还包括:所述接收端判断所述第一请求消息是否为重复消息,若是,则过滤所述第一请求消息。7.根据权利要求5所述的数据交互方法,其特征在于,所述接收端中的消息处理器依次对所述消息队列中的消息进行解析处理,并返回解析结果,包括:所述接收端根据先进先出原则,从所述接收端的服务工厂中调用解析方法依次对所述消息队列中的消息进行解析处理,并返回解析结果。8.根据权利要求3所述的数据交互方法,其特征在于,所述接收端接收第一发送端的第一请求消息之前,所述方法还包括:所述接收端在接收到所述第一请求消息时对所述第一请求消息进行预识别,判断所述第一请求消息格式是否满足约定的消息报文格式,若不符合则拒绝接收所述第一请求消息。2CN113347151A说明书1/5页一种基于socket共享内存的数据交互方法技术领域[0001]本发明涉及数据处理技术领域,具体地,涉及一种基于socket共享内存的数据交互方法。背景技术[0002]在windows操作系统下,本地应用程序进行数据交互主要通过共享内存实现跨进程数据交互,通过共享内存多个进程可以访问同一块内存空间实现不同。基于Java本地应用程序通过共享内存实现数据交互需要通过JNI调用本地动态链接库dll,windows下实现共享内存dll目前有比较完整的API可以通过c,c++,pascal等传统开发语言编写,通过visualstudio、delphi等IDE实现动态链接库文件dll编译生成。[0003]基于共享内存的进程交互,需要操