本发明涉及通信,尤其涉及一种基于网关媒体代理的webrtc通信方法、系统、终端及计算机可读存储介质。
背景技术:
1、随着科技和webrtc(web real-time communication,网页即时通讯)技术的逐步发展,各大浏览器对webrtc技术的支持都逐步完善,后端的媒体服务器也慢慢地跟上了webrtc发展的步伐,纷纷开始支持webrtc技术。
2、但是,由于webrtc客户端(浏览器)与包含媒体服务器的服务器集群之间通常使用p2p(点对点)模式进行通信,当服务器集群中存在多个媒体服务器的时候,服务器集群就需要暴露与多个媒体服务器对应的多个传输端口给浏览器,这些传输端口的暴露不仅占用服务器集群的网络端口资源,还增大了服务器集群的运维难度,同时也带来了网络安全风险。
3、因此,现有技术还有待于改进和发展。
技术实现思路
1、本发明的主要目的在于提供一种基于网关媒体代理的webrtc通信方法、系统、终端及计算机可读存储介质,旨在解决现有技术中的包含多个媒体服务器的服务器集群在与webrtc客户端进行通信的时候需要暴露多个传输端口,导致服务器集群的网络端口资源占用多、运维难度高且网络安全风险大的技术问题。
2、为实现上述目的,本发明提供一种基于网关媒体代理的webrtc通信方法,所述基于网关媒体代理的webrtc通信方法包括如下步骤:
3、接收客户端发送的sdp请求信息,并将所述sdp请求信息发送给对应的媒体服务器;
4、接收所述媒体服务器根据所述sdp请求信息返回的sdp回复信息,对所述sdp回复信息进行处理,得到最终sdp回复信息;
5、将所述最终sdp回复信息发送给所述客户端,接收所述客户端发送的根据所述最终sdp回复信息生成的打洞请求;
6、根据所述打洞请求建立双向传输通道,建立所述客户端和所述媒体服务器之间的通信。
7、可选地,所述的基于网关媒体代理的webrtc通信方法,其中,所述接收客户端发送的sdp请求信息,并将所述sdp请求信息发送给对应的媒体服务器,具体包括:
8、接收所述客户端发送的sdp请求信息,其中,所述sdp请求信息由所述客户端通过预设的接口获得;
9、对所述sdp请求信息进行分析,根据分析结果将所述sdp请求信息发送给对应的媒体服务器。
10、可选地,所述的基于网关媒体代理的webrtc通信方法,其中,所述接收所述媒体服务器根据所述sdp请求信息返回的sdp回复信息,对所述sdp回复信息进行处理,得到最终sdp回复信息,具体包括:
11、接收所述媒体服务器发送的sdp回复信息,其中,所述sdp回复信息由所述媒体服务器对sdp请求信息进行sdp交换操作得到;
12、获取网关地址信息和网关端口信息;
13、根据所述网关地址信息和所述网关端口信息对所述sdp回复信息中的媒体传输地址信息和媒体端口信息分别进行替换,得到最终sdp回复信息。
14、可选地,所述的基于网关媒体代理的webrtc通信方法,其中,所述将所述最终sdp回复信息发送给所述客户端,接收所述客户端发送的根据所述最终sdp回复信息生成的打洞请求,具体包括:
15、将所述最终sdp回复信息发送给所述客户端;
16、接收所述客户端返回的打洞请求,其中,所述打洞请求由所述客户端根据所述最终sdp回复信息中的网关地址信息和网关端口信息生成。
17、可选地,所述的基于网关媒体代理的webrtc通信方法,其中,所述根据所述打洞请求建立双向传输通道,建立所述客户端和所述媒体服务器之间的通信,具体包括:
18、获取所述打洞请求中的打洞数据包,将所述打洞数据包发送给所述媒体服务器;
19、接收所述媒体服务器返回的回复数据包,其中,所述回复数据包由所述媒体服务器接收到所述打洞数据包后,根据所述打洞数据包生成;
20、将所述回复数据包发送给所述客户端,建立双向传输通道;
21、根据所述双向传输通道建立所述客户端和所述媒体服务器之间的通信。
22、可选地,所述的基于网关媒体代理的webrtc通信方法,其中,所述建立所述客户端和所述媒体服务器之间的通信,之后还包括:
23、接收所述客户端通过所述双向传输通道发送的第一媒体数据,并将所述第一媒体数据通过所述双向传输通道发送给所述媒体服务器。
24、可选地,所述的基于网关媒体代理的webrtc通信方法,其中,所述建立所述客户端和所述媒体服务器之间的通信,之后还包括:
25、接收所述媒体服务器通过所述双向传输通道发送的第二媒体数据,并将所述第二媒体数据通过所述双向传输通道发送给所述客户端。
26、此外,为实现上述目的,本发明还提供一种基于网关媒体代理的webrtc通信系统,其中,所述基于网关媒体代理的webrtc通信系统包括:
27、请求信息接收模块,用于接收客户端发送的sdp请求信息,并将所述sdp请求信息发送给对应的媒体服务器;
28、回复信息处理模块,用于接收所述媒体服务器返回的sdp回复信息,对所述sdp回复信息进行处理,得到最终sdp回复信息;
29、打洞请求接收模块,用于将所述最终sdp回复信息发送给所述客户端,接收所述客户端发送的根据所述最终sdp回复信息生成的打洞请求;
30、传输通道建立模块,用于根据所述打洞请求建立双向传输通道,建立所述客户端和所述媒体服务器之间的通信。
31、此外,为实现上述目的,本发明还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于网关媒体代理的webrtc通信程序,所述基于网关媒体代理的webrtc通信程序被所述处理器执行时实现如上所述的基于网关媒体代理的webrtc通信方法的步骤。
32、此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有基于网关媒体代理的webrtc通信程序,所述基于网关媒体代理的webrtc通信程序被处理器执行时实现如上所述的基于网关媒体代理的webrtc通信方法的步骤。
33、本发明中,接收客户端发送的sdp请求信息,并将所述sdp请求信息发送给对应的媒体服务器;接收所述媒体服务器根据所述sdp请求信息返回的sdp回复信息,对所述sdp回复信息进行处理,得到最终sdp回复信息;将所述最终sdp回复信息发送给所述客户端,接收所述客户端发送的根据所述最终sdp回复信息生成的打洞请求;根据所述打洞请求建立双向传输通道,建立所述客户端和所述媒体服务器之间的通信。本发明通过网关媒体代理,使服务器集群只需要暴露一套媒体服务器端口就可以使客户端和多个媒体服务器进行通信,降低服务器集群的端口资源占用,降低运维难度,减少因端口开放带来的网络安全风险。
1.一种基于网关媒体代理的webrtc通信方法,其特征在于,所述基于网关媒体代理的webrtc通信方法包括:
2.根据权利要求1所述的基于网关媒体代理的webrtc通信方法,其特征在于,所述接收客户端发送的sdp请求信息,并将所述sdp请求信息发送给对应的媒体服务器,具体包括:
3.根据权利要求1所述的基于网关媒体代理的webrtc通信方法,其特征在于,所述接收所述媒体服务器根据所述sdp请求信息返回的sdp回复信息,对所述sdp回复信息进行处理,得到最终sdp回复信息,具体包括:
4.根据权利要求3所述的基于网关媒体代理的webrtc通信方法,其特征在于,所述将所述最终sdp回复信息发送给所述客户端,接收所述客户端发送的根据所述最终sdp回复信息生成的打洞请求,具体包括:
5.根据权利要求1所述的基于网关媒体代理的webrtc通信方法,其特征在于,所述根据所述打洞请求建立双向传输通道,建立所述客户端和所述媒体服务器之间的通信,具体包括:
6.根据权利要求1所述的基于网关媒体代理的webrtc通信方法,其特征在于,所述建立所述客户端和所述媒体服务器之间的通信,之后还包括:
7.根据权利要求1所述的基于网关媒体代理的webrtc通信方法,其特征在于,所述建立所述客户端和所述媒体服务器之间的通信,之后还包括:
8.一种基于网关媒体代理的webrtc通信系统,其特征在于,所述基于网关媒体代理的webrtc通信系统包括:
9.一种终端,其特征在于,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于网关媒体代理的webrtc通信程序,所述基于网关媒体代理的webrtc通信程序被所述处理器执行时实现如权利要求1-7任一项所述的基于网关媒体代理的webrtc通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有基于网关媒体代理的webrtc通信程序,所述基于网关媒体代理的webrtc通信程序被处理器执行时实现如权利要求1-7任一项所述的基于网关媒体代理的webrtc通信方法的步骤。
