System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,尤其涉及一种网络协议转换方法、装置、系统、电子设备及存储介质。
技术介绍
1、在互联网环境下,客户端与服务端经常采用超文本传输协议(hypertexttransfer protocol,http)、超文本传输安全协议(hypertext transfer protocolsecure,https)、长连接协议(websocket或者私有协议)等进行通讯。
2、目前,客户端与服务端之间无法随意切换通讯协议(例如从http切换到长连接),切换通讯协议需要重新开发客户端和服务端,并进行接口联调,比较费时费力。同时,客户端与服务端之间更换通讯协议后,考虑到客户端无法瞬间升级完毕,为了兼容老客户端,服务端需要同时部署新、老版本的通讯协议接口,增加了维护成本。并且,多种协议并存工作量大。例如http接口有大量成熟的工具可以辅助测试、压测、联调、分析问题。如果业务只支持长连接协议进行通讯,那么无法使用http工具生态。如果只支持http,那么缺少长连接带来的性能提升,以及私有协议通讯加密能力。如果把几种协议都支持了,那么对业务来说是一个很大的工作量。
技术实现思路
1、本申请实施例提供了一种网络协议转换方法、装置、系统、电子设备及存储介质,通过服务端接入网关和客户端sdk模块进行客户端与服务端之间网络通讯协议的转换,无需重新开发客户端和服务端,就可以实现在不增加客户端和服务端维护成本的同时,让客户端与服务端之间拥有可配置、高级通讯的能力。上述技术方案如下:
3、响应于目标操作,发起目标调用请求;
4、利用sdk模块将上述目标调用请求转换成目标协议格式;
5、将转换后的上述目标调用请求发送至服务端接入网关,以使上述服务端接入网关将转换为上述目标协议格式后的上述目标调用请求转换为内部通讯格式,并将转换为上述内部通讯格式的上述目标调用请求发送至服务端;
6、基于上述服务端接入网关和上述sdk模块获取上述服务端基于上述目标调用请求返回的目标响应结果。
7、在一种可能的实现方式中,上述利用sdk模块将上述目标调用请求转换成目标协议格式,包括:
8、基于上述目标调用请求确定对应的目标协议配置信息;
9、利用sdk模块基于上述目标协议配置信息将上述目标调用请求转换成目标协议格式。
10、在一种可能的实现方式中,上述目标协议配置信息包括上述目标调用请求对应的目标通讯协议;上述目标通讯协议包括以下通讯协议中的一种:超文本传输协议、超文本传输安全协议、长连接协议、私有长连接二进制协议。
11、在一种可能的实现方式中,上述将转换后的上述目标调用请求发送至服务端接入网关之后,上述方法还包括:
12、在上述目标调用请求发送失败或上述目标调用请求发送后预设时长内未获取到对应的目标响应结果的情况下,将上述目标协议格式更新为其他协议格式,并再次执行上述利用sdk模块将上述目标调用请求转换成目标协议格式的步骤。
13、第二方面,本申请实施例提供了另一种网络协议转换方法,上述方法应用于服务端接入网关,上述方法包括:
14、基于客户端sdk模块接收上述客户端发起的目标调用请求;上述目标调用请求为目标协议格式;
15、将上述目标调用请求转换为内部通讯格式;
16、将转换为上述内部通讯格式的上述目标调用请求发送至服务端,以使上述服务端基于上述目标调用请求确定对应的目标响应结果;
17、接收上述服务端返回的上述目标响应结果,并基于上述sdk模块将上述目标响应结果发送至上述客户端。
18、在一种可能的实现方式中,上述基于客户端sdk模块接收上述客户端发起的目标调用请求之后,上述将上述目标调用请求转换为内部通讯格式之前,上述方法还包括:
19、根据网络握手特征确定上述目标调用请求对应的目标协议特征;
20、上述将上述目标调用请求转换为内部通讯格式,包括:
21、基于上述目标协议特征将上述目标调用请求转换为内部通讯格式。
22、在一种可能的实现方式中,上述基于客户端sdk模块接收上述客户端发起的目标调用请求之后,上述将上述目标调用请求转换为内部通讯格式之前,上述方法还包括:
23、基于上述目标调用请求对应的目标认证信息对上述目标调用请求进行鉴权,得到上述目标调用请求对应的目标鉴权结果;
24、上述将上述目标调用请求转换为内部通讯格式,包括:
25、在上述目标鉴权结果为鉴权通过的情况下,将上述目标调用请求转换为内部通讯格式。
26、第三方面,本申请实施例提供了另一种网络协议转换方法,上述方法应用于服务端,上述方法包括:
27、接收服务端接入网关发送的由目标协议格式转换为内部通讯格式后的目标调用请求;上述目标调用请求由客户端发起,并由上述客户端的sdk模块将上述目标调用请求转换成上述目标协议格式;
28、基于上述目标调用请求确定对应的目标响应结果;
29、将上述目标响应结果发送至上述服务端接入网关,以使上述服务端接入网关基于上述sdk模块将上述目标响应结果返回至上述客户端。
30、第四方面,本申请实施例提供了一种客户端,上述客户端包括:
31、发起模块,用于响应于目标操作,发起目标调用请求;
32、第一协议转换模块,用于利用sdk模块将上述目标调用请求转换成目标协议格式;
33、第一发送模块,用于将转换后的上述目标调用请求发送至服务端接入网关,以使上述服务端接入网关将转换为上述目标协议格式后的上述目标调用请求转换为内部通讯格式,并将转换为上述内部通讯格式的上述目标调用请求发送至服务端;
34、第一获取模块,用于基于上述服务端接入网关和上述sdk模块获取上述服务端基于上述目标调用请求返回的目标响应结果。
35、在一种可能的实现方式中,上述第一协议转换模块包括:
36、第一确定单元,用于基于上述目标调用请求确定对应的目标协议配置信息;
37、第一协议转换单元,用于利用sdk模块基于上述目标协议配置信息将上述目标调用请求转换成目标协议格式。
38、在一种可能的实现方式中,上述目标协议配置信息包括上述目标调用请求对应的目标通讯协议;上述目标通讯协议包括以下通讯协议中的一种:超文本传输协议、超文本传输安全协议、长连接协议、私有长连接二进制协议。
39、在一种可能的实现方式中,上述客户端还包括:
40、更新模块,用于在上述目标调用请求发送失败或上述目标调用请求发送后预设时长内未获取到对应的目标响应结果的情况下,将上述目标协议格式更新为其他协议格式,并再次执行上述利用sdk模块将上述目标调用请求转换成目标协议格式本文档来自技高网...
【技术保护点】
1.一种网络协议转换方法,其特征在于,所述方法应用于客户端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述利用SDK模块将所述目标调用请求转换成目标协议格式,包括:
3.一种网络协议转换方法,其特征在于,所述方法应用于服务端接入网关,所述方法包括:
4.一种网络协议转换方法,其特征在于,所述方法应用于服务端,所述方法包括:
5.一种客户端,其特征在于,所述客户端包括:
6.一种服务端接入网关,其特征在于,所述服务端接入网关包括:
7.一种服务端,其特征在于,所述服务端包括:
8.一种网络协议转换系统,其特征在于,包括:客户端、服务端接入网关和服务端;其中,所述客户端用于执行如权利要求1-2任一项所述的方法步骤;所述服务端接入网关用于执行如权利要求3所述的方法步骤;所述服务端用于执行如权利要求4所述的方法步骤。
9.一种电子设备,其特征在于,包括:处理器和存储器;其中,
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理
...【技术特征摘要】
1.一种网络协议转换方法,其特征在于,所述方法应用于客户端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述利用sdk模块将所述目标调用请求转换成目标协议格式,包括:
3.一种网络协议转换方法,其特征在于,所述方法应用于服务端接入网关,所述方法包括:
4.一种网络协议转换方法,其特征在于,所述方法应用于服务端,所述方法包括:
5.一种客户端,其特征在于,所述客户端包括:
6.一种服务端接入网关,其特征在于,所述服务端接入网关包括:
【专利技术属性】
技术研发人员:赵化强,杨玉奇,
申请(专利权)人:北京奇虎科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。