基于WebSocket实现跨容器通信的方法和装置制造方法及图纸

技术编号:37701473 阅读:25 留言:0更新日期:2023-06-01 23:46
本申请提供的一种基于WebSocket实现跨容器通信的方法和装置。该方法包括:目标容器内的第一服务器可以接收到目标容器外的第二服务器通过第一服务器与第二服务器的双向通信连接发送的通信请求,然后获取该通信请求对应的请求结果,并根据该请求结果通过第一服务器与第二服务器的双向通信连接,向第二服务器发送消息返回体,使得第二服务器根据消息返回体,与第一服务器进行通信。例如,双向通信连接可以是WebSocket连接,无需进行网络映射,使得容器内外的应用程序进行Http服务交互更加灵活,而且容器内应用程序主动发起WebSocket连接,对容器没有侵入性,保证了容器的网络安全。保证了容器的网络安全。保证了容器的网络安全。

【技术实现步骤摘要】
基于WebSocket实现跨容器通信的方法和装置


[0001]本申请涉及通信
,尤其涉及一种基于WebSocket实现跨容器通信的方法和装置。

技术介绍

[0002]Docker容器是一个开源的应用容器引擎,开发者可以以统一的方式打包应程序以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(例如Linux服务器、windows服务器等),可以实现虚拟化。
[0003]在相关技术中,当容器内的应用程序向容器外的应用程序提供Http服务时,需要使用容器提供的网络映射访问方式,在启动容器时指定映射的端口,使得容器外的应用程序可以根据该端口访问容器内的应用程序。
[0004]但是,当容器内的应用程序的端口是动态生成的,由于端口难以预知,这种情况下无法提前绑定端口,无法实现Http服务交互。

技术实现思路

[0005]本申请提供一种基于WebSocket实现跨容器通信的方法和装置,用以解决相关技术中在无法提前绑定端口的情况下,无法实现Http服务交互的问题。
[0006]第一方面,本申请提供一种基于WebSocket实现跨容器通信的方法,应用于目标容器内的第一服务器,所述方法包括:
[0007]接收所述目标容器外的第二服务器发送的通信请求;
[0008]获取所述通信请求对应的请求结果;
[0009]根据所述请求结果,通过所述第一服务器与所述第二服务器的双向通信连接,向所述第二服务器发送消息返回体,所述消息返回体用于实现所述第一服务器与所述第二服务器的通信。
[0010]在一种可能的实施方式中,所述获取所述通信请求对应的请求结果,包括:
[0011]对所述通信请求进行解析处理,得到所述通信请求的统一资源定位符URL地址和请求参数;
[0012]基于所述URL地址和所述请求参数,调用Http服务得到所述Http服务的调用结果;
[0013]根据所述Http服务的调用结果,确定所述请求结果。
[0014]在一种可能的实施方式中,所述通过所述第一服务器与所述第二服务器的双向通信连接,向所述第二服务器发送消息返回体,包括:
[0015]对所述请求结果进行解析处理,构建所述消息返回体;
[0016]根据所述通信请求,确定所述双向通信连接;
[0017]通过所述双向通信连接,向所述第二服务器发送所述消息返回体。
[0018]在一种可能的实施方式中,所述方法还包括:
[0019]与所述第二服务器建立所述双向通信连接;
[0020]开启本地的Http服务。
[0021]第二方面,本申请提供一种基于WebSocket实现跨容器通信的方法,应用于目标容器外的第二服务器,所述方法包括:
[0022]获取通信请求,所述通信请求包括Http请求的URL地址和请求参数;
[0023]通过所述第二服务器与所述目标容器内的第一服务器的双向通信连接,向所述第一服务器发送所述通信请求;
[0024]接收消息返回体,并根据所述消息返回体,与所述第一服务器进行通信,所述消息返回体用于实现所述第一服务器与所述第二服务器的通信。
[0025]在一种可能的实施方式中,所述获取通信请求,包括:
[0026]获取Http请求,所述Http请求中包括所述Http请求的地址和请求参数;
[0027]根据所述URL地址和所述请求参数,确定所述通信请求。
[0028]在一种可能的实施方式中,所述通过所述第二服务器与所述目标容器内的第一服务器的双向通信连接,向所述第一服务器发送所述通信请求,包括:
[0029]根据所述URL地址和所述请求参数,确定所述第二服务器与所述第一服务器的双向通信连接;
[0030]通过所述双向通信连接,向所述第一服务器发送所述通信请求。
[0031]在一种可能的实施方式中,所述接收消息返回体,并根据所述消息返回体,与所述第一服务器进行通信,包括:
[0032]接收所述第一服务器发送的消息返回体;
[0033]根据所述消息返回体,确定目标调用方线程;
[0034]恢复所述目标调用方线程的运行;
[0035]对所述消息返回体进行解析处理,得到Http返回消息体,并向上层调用方发送所述Http返回消息体,所述Http返回消息体用于指示通信建立连接完成。
[0036]在一种可能的实施方式中,所述方法还包括:
[0037]启动双向通信协议监听服务;
[0038]当监听到所述目标容器内的第一服务器的连接请求,与所述第一服务器建立所述双向通信连接。
[0039]第三方面,本申请提供一种基于WebSocket实现跨容器通信的装置,包括:
[0040]接收模块,用于接收目标容器外的第二服务器发送的通信请求;
[0041]获取模块,用于获取所述通信请求对应的请求结果;
[0042]发送模块,用于根据所述请求结果,通过第一服务器与所述第二服务器的双向通信连接,向所述第二服务器发送消息返回体,所述消息返回体用于实现所述第一服务器与所述第二服务器的通信。
[0043]在一种可能的实施方式中,所述获取模块具体用于:
[0044]对所述通信请求进行解析处理,得到所述通信请求的统一资源定位符URL地址和请求参数;
[0045]基于所述URL地址和所述请求参数,调用Http服务得到所述Http服务的调用结果;
[0046]根据所述Http服务的调用结果,确定所述请求结果。
[0047]在一种可能的实施方式中,所述发送模块具体用于:
[0048]对所述请求结果进行解析处理,构建所述消息返回体;
[0049]根据所述通信请求,确定所述双向通信连接;
[0050]通过所述双向通信连接,向所述第二服务器发送所述消息返回体。
[0051]在一种可能的实施方式中,所述装置还包括:建立模块;
[0052]所述建立模块具体用于:
[0053]与所述第二服务器建立所述双向通信连接;
[0054]开启本地的Http服务。
[0055]第四方面,本申请提供一种基于WebSocket实现跨容器通信的装置,包括:
[0056]获取模块,用于获取通信请求,所述通信请求包括Http请求的地址和请求参数;
[0057]发送模块,用于通过第二服务器与目标容器内的第一服务器的双向通信连接,向所述第一服务器发送所述通信请求;
[0058]通信模块,用于接收消息返回体,并根据所述消息返回体,与所述第一服务器进行通信,所述消息返回体用于实现所述第一服务器与所述第二服务器的通信。
[0059]在一种可能的实施方式中,所述获取模块具体用于:
[0060]获取Http请求,所述Http请求中包括所述Http请求的URL地址和请求参数;
[0061]根据所述URL地址和所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于WebSocket实现跨容器通信的方法,其特征在于,应用于目标容器内的第一服务器,所述方法包括:接收所述目标容器外的第二服务器发送的通信请求;获取所述通信请求对应的请求结果;根据所述请求结果,通过所述第一服务器与所述第二服务器的双向通信连接,向所述第二服务器发送消息返回体,所述消息返回体用于实现所述第一服务器与所述第二服务器的通信。2.根据权利要求1所述的方法,其特征在于,所述获取所述通信请求对应的请求结果,包括:对所述通信请求进行解析处理,得到所述通信请求的统一资源定位符URL地址和请求参数;基于所述URL地址和所述请求参数,调用Http服务得到所述Http服务的调用结果;根据所述Http服务的调用结果,确定所述请求结果。3.根据权利要求2所述的方法,其特征在于,所述通过所述第一服务器与所述第二服务器的双向通信连接,向所述第二服务器发送消息返回体,包括:对所述请求结果进行解析处理,构建所述消息返回体;根据所述通信请求,确定所述双向通信连接;通过所述双向通信连接,向所述第二服务器发送所述消息返回体。4.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:与所述第二服务器建立所述双向通信连接;开启本地的Http服务。5.一种基于WebSocket实现跨容器通信的方法,其特征在于,应用于目标容器外的第二服务器,所述方法包括:获取通信请求,所述通信请求包括Http请求的URL地址和请求参数;通过所述第二服务器与所述目标容器内的第一服务器的双向通信连接,向所述第一服务器发送所述通信请求;接收消息返回体,并根据所述消息返回体,与所述第一服务器进行通信,所述消息返回体用于实现所述第一服务器与所述第二服务器的通信。6.根据权利要求5所述的方法,其特征在于,所述获取通信请求,包括:获取Http请求,所述Http请求中包括所述Http请求的URL地址和请求参数;根据所述URL地址和所述请求参数,确定所述通信请求。7.根据权利要求6所述的方法,其特征在于,所述通过所述第二服务器与所述目标容器内的第一服务器的双向通信连接,向所述第一服务器发送所述通信请求,包括:根据所述URL地址和所述请求参数,确定所述第二服务器与所述第一服务器的双向通信连接;通过所述双向通信连接,向所述第一服务器发送所述通信请求。8.根据权利要求5

7任一项所述的方法,其特征在于,所述接收消息返回体,并根据所述消息返回体,与所述第一服务器进行...

【专利技术属性】
技术研发人员:杨晓兵陈郓王东马姿白小迪于爽黄晓洋王琦梦
申请(专利权)人:中原银行股份有限公司
类型:发明
国别省市:

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

1