一种Host与Mini通信方法、装置、设备及存储介质制造方法及图纸

技术编号:34775943 阅读:33 留言:0更新日期:2022-08-31 19:48
本发明专利技术公开了一种Host与Mini通信方法、装置、设备及存储介质,其中方法包括:创建套接字,并对所述套接字进行初始化处理;根据所述套接字连接服务器,并判断是否退出通信;当判断不退出通信时,检测待发送消息队列是否为空;当检测到所述待发送消息队列不为空时,对所述待发送消息队列中的消息进行消息出队处理;对完成消息出队处理的消息进行格式转换和序列化,并发送至所述服务器。本发明专利技术通过利用Google Protocol Buffer的序列化和反序列化特性,设计了快速的粘包方法,仅仅升级通信库的底层实现,保持面向用户的接口一致性,使得用户无需更改已有代码,并有效提高系统响应速度、应用程序适用性和系统安全性。应用程序适用性和系统安全性。应用程序适用性和系统安全性。

【技术实现步骤摘要】
一种Host与Mini通信方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其是涉及一种Host与Mini通信方法、装置、设备及存储介质。

技术介绍

[0002]在构思及实现本申请过程中,本申请的专利技术人发现,现有技术中的Host和mini的跨机通信,会导致部署和学习其它第三方库带来的时间成本。例如,在ICVOS0.5版本的通信底层实现中,采用了系统生成API实现的固传固收方案,即按照固定长度L传输,按照固定长度L接收。当用户发送的数据少于长度L时,则填充剩余长度;超过长度L传输时,则提示用户传输失败。当每项数据的传输量相对于长度L波动较大时,极度浪费带宽。
[0003]前面的叙述在于提供一般的背景信息,并不一定构成现有技术。

技术实现思路

[0004]本专利技术实施例所要解决的技术问题在于,提供一种Host与Mini通信方法、装置、设备及存储介质,能够解决目前Host与Mini的跨机通信极度浪费带宽,以及在部署和学习第三方库时时间成本和资源增加的问题。
[0005]为解决上述问题,本申请实施例的第一方面提供了一种Host与Mini通信方法,至少包括如下步骤:
[0006]创建套接字,并对所述套接字进行初始化处理;
[0007]根据所述套接字连接服务器,并判断是否退出通信;
[0008]当判断不退出通信时,检测待发送消息队列是否为空;
[0009]当检测到所述待发送消息队列不为空时,对所述待发送消息队列中的消息进行消息出队处理;<br/>[0010]对完成消息出队处理的消息进行格式转换和序列化,并发送至所述服务器。
[0011]在第一方面的一种可能的实现方式中,在所述发送至所述服务器之后,还包括:
[0012]再次检测所述待发送消息队列是否为空;
[0013]当检测到所述待发送消息队列不为空时,对所述待发送消息队列中的消息进行消息出队处理;
[0014]对完成消息出队处理的消息进行格式转换和序列化,并发送至所述服务器。
[0015]在第一方面的一种可能的实现方式中,还包括:
[0016]当判断退出通信时,关闭所述套接字,结束通信。
[0017]在第一方面的一种可能的实现方式中,在所述创建套接字,并对所述套接字进行初始化处理之后,还包括:
[0018]对所述套接字进行绑定,并监听所述套接字。
[0019]在第一方面的一种可能的实现方式中,所述根据所述套接字连接服务器,并判断是否退出通信之后,还包括:
[0020]初始化所述服务器的第一缓冲区;
[0021]当判断不退出通信时,通过所述服务器对所述套接字进行轮询,并读取数据至第二缓冲区;
[0022]判断所述第二缓冲区的数据是否逐个字节遍历完毕;
[0023]若是,则退出通信;
[0024]若否,则对所述第一缓冲区进行字节追加,并对所述第一缓冲区的数据进行反序列化。
[0025]在第一方面的一种可能的实现方式中,在所述对所述第一缓冲区的数据进行反序列化后,还包括:
[0026]判断所述反序列化是否成功;
[0027]若是,调用用户回调信息,并清空所述第一缓冲区;
[0028]若否,则再次判断所述第二缓冲区的数据是否逐个字节遍历完毕。
[0029]在第一方面的一种可能的实现方式中,在所述再次判断所述第二缓冲区的数据是否逐个字节遍历完毕之后,还包括:
[0030]当判断所述第二缓冲区的数据未逐个字节遍历完毕时,对所述第一缓冲区进行字节追加,并对所述第一缓冲区的数据再次进行反序列化;
[0031]再次判断所述反序列化是否成功。
[0032]相应地,本申请实施例的第二方面提供了一种Host与Mini通信装置,包括:
[0033]套接字模块,用于创建套接字,并对所述套接字进行初始化处理;
[0034]连接模块,用于根据所述套接字连接服务器,并判断是否退出通信;
[0035]消息队列模块,用于当判断不退出通信时,检测待发送消息队列是否为空;
[0036]消息出队模块,用于当检测到所述待发送消息队列不为空时,对所述待发送消息队列中的消息进行消息出队处理;
[0037]通信模块,用于对完成消息出队处理的消息进行格式转换和序列化,并发送至所述服务器。
[0038]本申请实施例的第三方面还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的Host与Mini通信方法的步骤。
[0039]本申请实施例的第四方面还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的Host与Mini通信方法的步骤。
[0040]实施本专利技术实施例,具有如下有益效果:
[0041]本专利技术实施例提供的一种Host与Mini通信方法、装置、设备及存储介质,所述方法包括:创建套接字,并对所述套接字进行初始化处理;根据所述套接字连接服务器,并判断是否退出通信;当判断不退出通信时,检测待发送消息队列是否为空;当检测到所述待发送消息队列不为空时,对所述待发送消息队列中的消息进行消息出队处理;对完成消息出队处理的消息进行格式转换和序列化,并发送至所述服务器。本专利技术实施例通过利用Google Protocol Buffer的序列化和反序列化特性,设计了快速的粘包方法,仅仅升级通信库的底层实现,保持面向用户的接口一致性,使得用户无需更改已有代码,并有效提高系统响应速
度、应用程序适用性和系统安全性。
附图说明
[0042]图1为本申请一实施例的Host与Mini通信方法的流程示意图;
[0043]图2为本申请一实施例的基于客户端实现Host与Mini通信方法的流程示意图;
[0044]图3为本申请一实施例的基于服务器端实现Host与Mini通信方法的流程示意图;
[0045]图4为本申请一实施例的Host与Mini通信装置的结构示意框图;
[0046]图5为本申请一实施例的计算机设备的结构示意框图。
[0047]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0048]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0049]在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Host与Mini通信方法,其特征在于,至少包括如下步骤:创建套接字,并对所述套接字进行初始化处理;根据所述套接字连接服务器,并判断是否退出通信;当判断不退出通信时,检测待发送消息队列是否为空;当检测到所述待发送消息队列不为空时,对所述待发送消息队列中的消息进行消息出队处理;对完成消息出队处理的消息进行格式转换和序列化,并发送至所述服务器。2.根据权利要求1所述的Host与Mini通信方法,其特征在于,在所述发送至所述服务器之后,还包括:再次检测所述待发送消息队列是否为空;当检测到所述待发送消息队列不为空时,对所述待发送消息队列中的消息进行消息出队处理;对完成消息出队处理的消息进行格式转换和序列化,并发送至所述服务器。3.根据权利要求1所述的Host与Mini通信方法,其特征在于,还包括:当判断退出通信时,关闭所述套接字,结束通信。4.根据权利要求1所述的Host与Mini通信方法,其特征在于,在所述创建套接字,并对所述套接字进行初始化处理之后,还包括:对所述套接字进行绑定,并监听所述套接字。5.根据权利要求1所述的Host与Mini通信方法,其特征在于,所述根据所述套接字连接服务器,并判断是否退出通信之后,还包括:初始化所述服务器的第一缓冲区;当判断不退出通信时,通过所述服务器对所述套接字进行轮询,并读取数据至第二缓冲区;判断所述第二缓冲区的数据是否逐个字节遍历完毕;若是,则退出通信;若否,则对所述第一缓冲区进行字节追加,并对所述第一缓冲区的数据进行反序列化。6.根据...

【专利技术属性】
技术研发人员:周鹏尹斯德许岩蒋盛飞
申请(专利权)人:国汽智控北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1