CN111372092A - 通信链路建立方法、装置、设备及存储介质 - Google Patents

通信链路建立方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111372092A
CN111372092A CN202010143399.4A CN202010143399A CN111372092A CN 111372092 A CN111372092 A CN 111372092A CN 202010143399 A CN202010143399 A CN 202010143399A CN 111372092 A CN111372092 A CN 111372092A
Authority
CN
China
Prior art keywords
client
channel
message
token
request message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010143399.4A
Other languages
English (en)
Other versions
CN111372092B (zh
Inventor
付迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010143399.4A priority Critical patent/CN111372092B/zh
Publication of CN111372092A publication Critical patent/CN111372092A/zh
Application granted granted Critical
Publication of CN111372092B publication Critical patent/CN111372092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Abstract

本申请实施例提供了一种通信链路建立方法、装置、设备及存储介质。其方法包括:服务端向目标版本的第二客户端转发第一客户端发起的会话邀请,在接收到目标版本的第二客户端返回的接受会话邀请的响应后,生成频道令牌分别发送给目标版本的第一客户端和第二客户端,目标版本的第一客户端和第二客户端可以同时发起进入频道的请求,并通过与声网设备通信获取对端的音视频数据。本申请实施例提供的方法可以降低通信链路的延迟,提高音视频直播会话的效果。

Description

通信链路建立方法、装置、设备及存储介质
技术领域
本申请实施例涉及网络通信技术领域,尤其涉及一种通信链路建立方法、装置、设备及存储介质。
背景技术
网络音视频直播作为新型媒体传播方式得以广泛应用。典型的网络音视频直播场景包括:音视频主播的客户端之间通过连麦实现互动,音视频主播的客户端与观众的客户端之间通过连麦实现互动。
上述网络音视频直播场景均需要客户端之间进行连麦,即建立音视频直播会话的通信链路。
现有的音视频直播会话通信链路的建立过程耗时较长,由此会导致通信链路建立失败,影响网络音视频直播效果。
发明内容
本申请实施例提供一种通信链路建立方法、装置、设备及存储介质,以达到降低音视频直播会话通信链路建立过程耗时的目的。
第一方面,本申请实施例提供一种通信链路建立方法,包括:
接收第一客户端发送的会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息;
根据第二客户端的标识信息,向第二客户端发送会话邀请消息;
接收到第二客户端返回的接受会话邀请的响应消息后,生成频道令牌;
获取第一客户端的版本信息,根据第一客户端的版本信息判断第一客户端的版本是否为目标版本;
获取第二客户端的版本信息,根据第二客户端的版本信息判断第二客户端的版本是否为目标版本;
若第一客户端的版本为目标版本,向第一客户端发送第一频道令牌消息,该第一频道令牌消息中携带上述频道令牌,以便第一客户端根据该频道令牌与声网设备通信,通过目标频道请求从声网设备获取第二客户端的音视频数据,其中,目标频道用于第一客户端与第二客户端进行音视频会话;
若第一客户端的版本为目标版本,向第二客户端发送第二频道令牌消息,该第二频道令牌消息中携带上述频道令牌,以便第二客户端根据该频道令牌与上述声网设备通信,通过目标频道从该声网设备请求获取第一客户端的音视频数据;
接收第一客户端发送的第一进入频道请求消息,并向第一客户端返回该第一进入频道请求消息的响应消息,其中,该第一进入频道请求消息是第一客户端在接收到第一频道令牌消息后发送的,用于请求进入目标频道,该第一进入频道请求消息的响应消息用于指示第一客户端的进入频道请求是否成功;
接收第二客户端发送的第二进入频道请求消息,并向第二客户端返回该第二进入频道请求消息的响应消息,其中,该第二进入频道请求消息是第二客户端在接收到第二频道令牌消息后发送的,用于请求进入目标频道,该第二进入频道请求消息的响应消息用于指示第二客户端的进入频道请求是否成功;
若第一客户端和第二客户端的进入频道请求均成功,记录第一通信链路状态,第一通信链路状态表示第一客户端与第二客户端之间的通信链路建立成功。
本申请实施例提供的上述方法在服务端实现,对于目标版本的第一客户端和第二客户端,服务端在接收到第二客户端返回的接受会话邀请的响应消息后生成频道令牌并分别发送给第一客户端和第二客户端,第一客户端和第二客户端在接收到该频道令牌后即可向服务端请求进入目标频道,而不需要在第一客户端完成频道进入后再触发第二客户端进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
可选的,上述会话邀请请求消息中携带第一客户端的版本信息。相应的,可以从该会话邀请请求消息中获取第一客户端的版本信息。
本申请实施例提供的方法,通过现有的消息携带第一客户端的版本信息而不需要增加新的消息,可以减少消息交互,降低延时。
可选的,上述接受会话邀请的响应消息中携带第二客户端的版本信息,相应的,可以从该接受会话邀请的响应消息中获取第二客户端的版本信息。
本申请实施例提供的方法,通过现有的消息携带第二客户端的版本信息而不需要增加新的消息,可以减少消息交互,降低延时。
在上述任意方法实施例的基础上,若第一客户端的版本不是目标版本,可以接收第一客户端发送的第一频道请求消息,该第一频道请求消息用于请求创建并进入目标频道;判断是否已生成频道令牌;若已生成,向第一客户端返回所述第一频道请求消息的响应消息,第一频道请求消息的响应消息用于指示第一客户端的进入频道请求是否成功,若成功,第一频道请求消息的响应消息中携带频道令牌;若未生成,生成频道令牌,并向第一客户端返回第一频道请求消息的响应消息。
本申请实施例提供的方法,对原有流程中的创建频道请求消息进行改造,使其可以同时请求创建并进入频道(即为上述第一频道请求消息),另外,在接收到该消息后,判断是否已生成频道令牌,若没有生成,则生成频道令牌,并在确定该第一客户端的请求成功后,将频道令牌发送给第一客户端,从而实现对非目标版本的第一客户端的兼容。
在上述任意方法实施例的基础上,若所述第二客户端的版本不是目标版本,可以向第二客户端发送对端频道状态消息,用于指示第一客户端已进入所述目标频道。从而实现对非目标版本的第二客户端的兼容。
第二方面,本申请实施例提供一种通信链路建立方法,包括:
向服务端发送会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息,以便服务端根据第二客户端的标识信息,向第二客户端发送会话邀请消息;
接收服务端发送的第一频道令牌消息,该第一频道令牌消息为上述会话邀请请求消息的响应消息,其中携带频道令牌,该第一频道令牌消息是服务端在判断本客户端的版本为目标版本的情况下发送的;
向服务端发送第一进入频道请求消息,第一进入频道消息用于请求进入目标频道,目标频道用于本客户端与第二客户端进行音视频会话;
若接收到服务端返回的上述第一进入频道请求消息的响应消息,且该第一进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据频道令牌与声网设备通信,与该声网设备的通信至少包括以下步骤:将频道令牌发送给声网设备,以进行令牌验证;令牌验证通过后,通过目标频道向声网设备请求发送本客户端的音视频数据,并通过目标频道向声网设备请求获取第二客户端的音视频数据。
本申请实施例提供的上述方法在发起会话邀请的第一客户端上实现,第一客户端通过会话邀请请求消息的响应消息中携带的频道令牌与声网设备通信,且在接收到该响应消息后发送第一进入频道请求消息,一方面利用现有通信链路创建过程中的消息而不需要增加新的消息,可以减少消息交互,降低延时。另一方面,不需要通过原有通信链路创建过程中的频道创建消息的响应消息携带频道令牌,相应的,也就不需要频道创建的交互过程,进一步简化通信链路创建流程,降低时延。
可选的,上述会话邀请请求消息中携带本客户端的版本信息。
本申请实施例提供的方法,通过现有的消息携带第一客户端的版本信息而不需要增加新的消息,可以减少消息交互,降低延时。
在上述第二方面的任意方法实施例的基础上,若本客户端的版本不是目标版本,可以向服务端发送会话邀请请求消息后,接收服务端发送的会话邀请请求消息的响应消息,若会话邀请请求消息的响应消息指示第二客户端接受会话邀请,向服务端发送第一频道请求消息,该第一频道请求消息用于请求创建并进入目标频道。
本申请实施例提供的方法,对原有流程中的创建频道请求消息进行改造,使其可以同时请求创建并进入频道(即为上述第一频道请求消息),从而实现对非目标版本的第一客户端的兼容。
第三方面,本申请实施例提供一种通信链路建立装置,包括:
会话邀请请求消息接收模块,用于接收第一客户端发送的会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息;
会话邀请消息发送模块,用于根据第二客户端的标识信息,向第二客户端发送会话邀请消息;
频道令牌生成模块,用于接收到第二客户端返回的接受会话邀请的响应消息后,生成频道令牌;
第一版本信息获取模块,用于获取所述第一客户端的版本信息,根据所述第一客户端的版本信息判断所述第一客户端的版本是否为目标版本;
第二版本信息获取模块,用于获取所述第二客户端的版本信息,根据所述第二客户端的版本信息判断所述第二客户端的版本是否为目标版本;
第一频道令牌消息发送模块,用于若所述第一客户端的版本为目标版本,向第一客户端发送第一频道令牌消息,该第一频道令牌消息中携带上述频道令牌,以便第一客户端根据该频道令牌与声网设备通信,通过目标频道请求从声网设备获取第二客户端的音视频数据,其中,目标频道用于第一客户端与第二客户端进行音视频会话;
第二频道令牌消息发送模块,用于若所述第二客户端的版本为目标版本,向第二客户端发送第二频道令牌消息,该第二频道令牌消息中携带上述频道令牌,以便第二客户端根据该频道令牌与上述声网设备通信,通过目标频道从该声网设备请求获取第一客户端的音视频数据;
第一频道进入请求响应模块,用于接收第一客户端发送的第一进入频道请求消息,并向第一客户端返回该第一进入频道请求消息的响应消息,其中,该第一进入频道请求消息是第一客户端在接收到第一频道令牌消息后发送的,用于请求进入目标频道,该第一进入频道请求消息的响应消息用于指示第一客户端的进入频道请求是否成功;
第二频道进入请求响应模块,用于接收第二客户端发送的第二进入频道请求消息,并向第二客户端返回该第二进入频道请求消息的响应消息,其中,该第二进入频道请求消息是第二客户端在接收到第二频道令牌消息后发送的,用于请求进入目标频道,该第二进入频道请求消息的响应消息用于指示第二客户端的进入频道请求是否成功;
通信链路状态记录模块,用于若第一客户端和第二客户端的进入频道请求均成功,记录第一通信链路状态,第一通信链路状态表示第一客户端与第二客户端之间的通信链路建立成功。
本申请实施例提供的上述装置在服务端实现,对于目标版本的第一客户端和第二客户端,服务端在接收到第二客户端返回的接受会话邀请的响应消息后生成频道令牌并分别发送给第一客户端和第二客户端,第一客户端和第二客户端在接收到该频道令牌后即可向服务端请求进入目标频道,而不需要在第一客户端完成频道进入后再触发第二客户端进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
可选的,
上述会话邀请请求消息中携带第一客户端的版本信息。相应的,可以从该会话邀请请求消息中获取第一客户端的版本信息。
本申请实施例提供的装置,通过现有的消息携带第一客户端的版本信息而不需要增加新的消息,可以减少消息交互,降低延时。
可选的,上述接受会话邀请的响应消息中携带第二客户端的版本信息,相应的,可以从该接受会话邀请的响应消息中获取第二客户端的版本信息。
本申请实施例提供的装置,通过现有的消息携带第二客户端的版本信息而不需要增加新的消息,可以减少消息交互,降低延时。
在上述任意装置实施例的基础上,若第一客户端的版本不是目标版本,该装置还可以包括第一版本兼容模块,用于接收第一客户端发送的第一频道请求消息,该第一频道请求消息用于请求创建并进入目标频道;判断是否已生成频道令牌;若已生成,向第一客户端返回所述第一频道请求消息的响应消息,第一频道请求消息的响应消息用于指示第一客户端的进入频道请求是否成功,若成功,第一频道请求消息的响应消息中携带频道令牌;若未生成,生成频道令牌,并向第一客户端返回第一频道请求消息的响应消息。
本申请实施例提供的装置,对原有流程中的创建频道请求消息进行改造,使其可以同时请求创建并进入频道(即为上述第一频道请求消息),另外,在接收到该消息后,判断是否已生成频道令牌,若没有生成,则生成频道令牌,并在确定该第一客户端的请求成功后,将频道令牌发送给第一客户端,从而实现对非目标版本的第一客户端的兼容。
在上述任意装置实施例的基础上,若所述第二客户端的版本不是目标版本,该装置还可以包括第二版本兼容模块,用于向第二客户端发送对端频道状态消息,用于指示第一客户端已进入所述目标频道。从而实现对非目标版本的第二客户端的兼容。
第四方面,本申请实施例提供一种通信链路建立装置,包括:
会话邀请请求消息发送模块,用于向服务端发送会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息,以便服务端根据第二客户端的标识信息,向第二客户端发送会话邀请消息;
第一频道令牌消息接收模块,用于接收服务端发送的第一频道令牌消息,该第一频道令牌消息为上述会话邀请请求消息的响应消息,其中携带频道令牌,该第一频道令牌消息是服务端在判断本客户端的版本为目标版本的情况下发送的;
第一进入频道请求消息发送模块,用于向服务端发送第一进入频道请求消息,第一进入频道消息用于请求进入目标频道,目标频道用于本客户端与第二客户端进行音视频会话;
第二声网设备通信模块,用于若接收到服务端返回的上述第一进入频道请求消息的响应消息,且该第一进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据频道令牌与声网设备通信,与该声网设备的通信至少包括以下步骤:将频道令牌发送给声网设备,以进行令牌验证;令牌验证通过后,通过目标频道向声网设备请求发送本客户端的音视频数据,并通过目标频道向声网设备请求获取第二客户端的音视频数据。
本申请实施例提供的上述装置在发起会话邀请的第一客户端上实现,第一客户端通过会话邀请请求消息的响应消息中携带的频道令牌与声网设备通信,且在接收到该响应消息后发送第一进入频道请求消息,一方面利用现有通信链路创建过程中的消息而不需要增加新的消息,可以减少消息交互,降低延时。另一方面,不需要通过原有通信链路创建过程中的频道创建消息的响应消息携带频道令牌,相应的,也就不需要频道创建的交互过程,进一步简化通信链路创建流程,降低时延。
可选的,上述会话邀请请求消息中携带本客户端的版本信息。
本申请实施例提供的装置,通过现有的消息携带第一客户端的版本信息而不需要增加新的消息,可以减少消息交互,降低延时。
在上述第四方面的任意装置实施例的基础上,若本客户端的版本不是目标版本,该装置还包括第三版本兼容模块,用于向服务端发送会话邀请请求消息后,接收服务端发送的会话邀请请求消息的响应消息,若会话邀请请求消息的响应消息指示第二客户端接受会话邀请,向服务端发送第一频道请求消息,该第一频道请求消息用于请求创建并进入目标频道。
本申请实施例提供的装置,对原有流程中的创建频道请求消息进行改造,使其可以同时请求创建并进入频道(即为上述第一频道请求消息),从而实现对非目标版本的第一客户端的兼容。
第五方面,本申请实施例提供一种服务端设备,包括处理器和存储器;
存储器用于存储执行上述第一方面任意实施例所述方法的程序;
处理器被配置为执行该存储器中存储的程序。
本申请实施例提供的服务端设备,对于目标版本的第一客户端和第二客户端,在接收到第二客户端返回的接受会话邀请的响应消息后生成频道令牌并分别发送给第一客户端和第二客户端,第一客户端和第二客户端在接收到该频道令牌后即可向服务端请求进入目标频道,而不需要在第一客户端完成频道进入后再触发第二客户端进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
第六方面,本申请实施例提供一种客户端设备,包括处理器和存储器;
存储器用于存储执行上述第二方面任意实施例所述方法的程序;
处理器被配置为执行上述存储器中存储的程序。
本申请实施例提供的客户端设备作为会话邀请的发起方,通过会话邀请请求消息的响应消息中携带的频道令牌与声网设备通信,且在接收到该响应消息后发送第一进入频道请求消息,一方面利用现有通信链路创建过程中的消息而不需要增加新的消息,可以减少消息交互,降低延时。另一方面,不需要通过原有通信链路创建过程中的频道创建消息的响应消息携带频道令牌,相应的,也就不需要频道创建的交互过程,进一步简化通信链路创建流程,降低时延。
第七方面,本申请实施例提供一种计算机可读存储介质,存储有执行上述第一至第二方面任意实施例所述方法的程序。
附图说明
图1为本申请一个实施例提供的通信链路建立方法信令交互图;
图2为本申请一个实施例提供的客户端与声网设备通信方法流程图;
图3为本申请一个实施例提供的服务端侧通信链路建立方法流程图;
图4为本申请一个实施例提供的第一客户端侧通信链路建立方法流程图;
图5为本申请另一个实施例提供的通信链路建立方法信令交互图;
图6为本申请一个实施例提供的目标版本客户端邀请非目标版本客户端的通信链路建立方法信令交互图;
图7为本申请一个实施例提供的非目标版本客户端邀请目标版本客户端的通信链路建立方法信令交互图;
图8为本申请一个实施例提供的非目标版本客户端邀请非目标版本客户端的通信链路建立方法信令交互图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请实施例的技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请实施例技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本申请实施例提供一种音视频直播会话通信链路的创建方法,该方法较之以往的方法降低了通信链路创建时延,简化了通信链路创建流程。下面将以客户端与服务端配合实现的角度对本申请实施例提供的方法进行描述,单个客户端以及服务端各自单独的实现过程可以参照以下相互配合实现的实施例进行说明,将不再单独赘述。
如图1所示,本申请实施例提供的通信链路建立方法包括如下步骤:
步骤101、第一客户端向服务端发送会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息。
本申请实施例中,第一客户端和第二客户端是指移动终端上用于实现音视频直播的应用程序,服务端是指网络侧的业务服务器。
其中,第二客户端的标识信息可以包括登录第二客户端的账户的信息,例如账户名,账户绑定的邮箱、手机号码、身份信息等等,第二客户端的标识信息还可以包括登录第二客户端的移动终端的标识信息,例如该移动终端的设备标识码等等。
其中,登录第二客户端的移动终端可以简称为第二客户端设备,相应的,登录第一客户端的移动终端可以简称为第一客户端设备。
步骤102、服务端接收到第一客户端发送的会话邀请请求消息后,根据其中的第二客户端的标识信息,向第二客户端发送会话邀请消息。
其中,服务端可以根据第二客户端的标识信息查找到第二客户端设备,进而向第二客户端设备发送会话邀请消息,因此,向第二客户端设备发送会话邀请消息,具体是向第二客户端设备发送会话邀请消息。
步骤103、第二客户端向服务端发送接受会话邀请的响应消息。
若第二客户端向服务器发送不接受会话邀请的响应消息,那么服务端向第一客户端设备返回会话邀请请求消息的响应消息,通过该响应消息指示第二客户端不接受会话邀请,本次通信链路创建过程结束。
步骤104、服务端接收到第二客户端返回的接受会话邀请的响应消息后,生成频道令牌。
其中,频道令牌可以是访问令牌(AccessToken)。
服务端可利用现有实现方式生成该频道令牌,本申请对其实现方式不做限定。
步骤105、服务端获取第一客户端的版本信息,根据第一客户端的版本信息判断第一客户端的版本是否为目标版本。
实际应用中,根据实际情况指定目标版本。
步骤106、获取第二客户端的版本信息,根据第二客户端的版本信息判断第二客户端的版本是否为目标版本。
步骤107、若第一客户端的版本为目标版本,服务端向第一客户端发送第一频道令牌消息,该第一频道令牌消息中携带上述频道令牌。
步骤108、第一客户端接收到服务端发送的第一频道令牌消息后,向服务端发送第一进入频道请求消息。
其中,第一进入频道消息用于请求进入目标频道,目标频道用于本客户端与第二客户端进行音视频会话。
本申请实施例中,频道又称通道(Channel)、房间,是为两个客户端之间进行音视频直播会话所分配的通信资源。
步骤109、服务端接收第一客户端发送的第一进入频道请求消息,并向第一客户端发送第一进入频道请求消息的响应消息。
其中,第一进入频道请求消息的响应消息用于指示第一客户端的进入频道请求是否成功。
进一步地,服务端在接收到第一进入频道请求消息后会对第一客户端的进入目标频道请求进行处理,以决定该第一客户端进入目标频道的请求是否成功。其具体实现方式可以参照现有实现方式进行,此处不做赘述。
步骤110、若第一客户端接收到服务端返回的上述第一进入频道请求消息的响应消息,且该第一进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据频道令牌与声网设备通信。
如图2所示,第一客户端与该声网设备的通信至少包括以下步骤:
步骤201、第一客户端将频道令牌发送给声网设备,以进行令牌验证。
其中,声网设备可以但不仅限于是合流服务器。令牌验证的实现方式可以参照现有实现方式,此处不做赘述。
步骤202、令牌验证通过后,第一客户端通过目标频道向声网设备请求发送本客户端的音视频数据。
向声网设备请求发送本客户端的音视频数据,即向声网设备请求推流。
步骤203、第一客户端通过目标频道向声网设备请求获取第二客户端的音视频数据。
向声网设备请求获取第二客户端的音视频数据,即向声网设备请求拉流。更进一步地,第一客户端向声网设备实际请求的可以是合流,合流数据中包括第二客户端的音视频数据,合流数据中也包括第一客户端的音视频数据。
实际应用中,可以单纯进行音频直播会话,也可以单纯进行视频直播会话,还可以进行音频以及视频直播会话。因此,本申请实施例中的音视频数据仅为音频数据,也可以仅为视频数据,还可以为音频和视频数据。
若上述第一进入频道请求消息的响应消息指示本客户端的进入频道请求失败,或者在预定等待时间结束后仍然未接收到该第一进入频道请求消息的响应消息,则本次通信链路建立流程结束。
步骤111、若第二客户端的版本为目标版本,服务端向第二客户端发送第二频道令牌消息,该第二频道令牌消息中携带上述频道令牌。
本申请实施例不对步骤105和步骤109的时序进行限定,换言之,二者没有时序限制。
步骤112、第二客户端接收到服务端发送的第二频道令牌消息后,向服务端发送第二进入频道请求消息。
其中,第二进入频道请求消息用于请求进入目标频道。
本申请实施例中,第一进入频道请求消息与第二进入频道请求消息的消息格式可以相同也可以不同。
步骤113、服务端接收第二客户端发送的第二进入频道请求消息,并向第二客户端发送第二进入频道请求消息的响应消息。
其中,第二进入频道请求消息的响应消息用于指示第二客户端的进入频道请求是否成功。
进一步地,服务端在接收到第二进入频道请求消息后会对第二客户端的进入目标频道请求进行处理,以决定该第二客户端进入目标频道的请求是否成功。其具体实现方式可以参照现有实现方式进行,此处不做赘述。
步骤114、若第二客户端接收到服务端返回的第二进入频道请求消息的响应消息,且该第二进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据上述频道令牌与声网设备通信。
其中,第二客户端与该声网设备的通信至少包括以下步骤:将频道令牌发送给声网设备,以进行令牌验证;令牌验证通过后,通过上述目标频道向声网设备请求发送本客户端的音视频数据,并通过目标频道向声网设备请求获取第一客户端的音视频数据。其具体实现方式可以参照上述第一客户端与声网设备的通信过程说明,此处不再赘述。
若上述第一进入频道请求消息的响应消息指示本客户端的进入频道请求失败,或者在预定等待时间结束后仍然未接收到该第一进入频道请求消息的响应消息,则本次通信链路建立流程结束。
步骤115、若第一客户端和第二客户端的进入频道请求均成功,服务端记录第一通信链路状态。
其中,第一通信链路状态表示第一客户端与第二客户端之间的通信链路建立成功,即第一客户端与第二客户端均已经进入目标频道。
本申请实施例提供的上述方法,服务端在接收到第二客户端返回的接受会话邀请的响应消息后生成频道令牌并分别发送给第一客户端和第二客户端,第一客户端和第二客户端在接收到该频道令牌后即可向服务端请求进入目标频道,而不需要在第一客户端完成频道进入后再触发第二客户端进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
可选的,上述会话邀请请求消息中携带第一客户端的版本信息。相应的,可以从该会话邀请请求消息中获取第一客户端的版本信息。
本申请实施例提供的方法,通过现有的消息携带第一客户端的版本信息而不需要增加新的消息,可以减少消息交互,降低延时。
可选的,上述接受会话邀请的响应消息中携带第二客户端的版本信息,相应的,可以从该接受会话邀请的响应消息中获取第二客户端的版本信息。
本申请实施例提供的方法,通过现有的消息携带第二客户端的版本信息而不需要增加新的消息,可以减少消息交互,降低延时。
可选的,上述第一频道令牌消息为上述会话邀请请求消息的响应消息。
本申请实施例提供的方法,通过会话邀请请求消息的响应消息携带频道令牌,一方面利用现有通信链路创建过程中的消息而不需要增加新的消息,可以减少消息交互,降低延时。另一方面,不需要通过原有通信链路创建过程中的频道创建消息的响应消息携带频道令牌,相应的,也就不需要频道创建的交互过程,进一步简化通信链路创建流程,降低时延。
可选的,上述第二频道令牌消息为上述接受会话邀请的响应消息的响应消息。
如上所述,第二客户端不需要等待第一客户端进入目标频道完成后再进入目标频道,而是可以和第一客户端同时请求进入目标频道,那么,就可以提前到通过接受会话邀请的响应消息的响应消息携带频道令牌,以便第二客户端在接收到该响应消息后即可发出第二进入频道请求消息,进一步缩短通信链路建立时延。
其中,第一客户端与第二客户端同时请求进入目标频道,并不是指二者严格在同一时刻请求进入目标频道,而是指二者之间不存在时序限制。
可选的,第一客户端与上述声网设备的通信采用实时通信(RTC,Real-timeCommunications)技术实现,而不是采用传统的即时通信(IM,Instant Messaging)技术实现,可以尽快发现通信异常,并停止后续通信过程,且尽量避免由于即时技术带来的延迟导致通信链路异常。
可选的,第二客户端与上述声网设备的通信采用实时通信技术实现,而不是采用传统的即时通信技术实现,可以尽快发现通信异常,并停止后续通信过程,且尽量避免由于即时技术带来的延迟导致通信链路异常。
在上述任意方法实施例的基础上,若第一客户端的版本不是目标版本,为实现版本兼容,可以接收第一客户端发送的第一频道请求消息,该第一频道请求消息用于请求创建并进入目标频道;判断是否已生成频道令牌;若已生成,向第一客户端返回所述第一频道请求消息的响应消息,第一频道请求消息的响应消息用于指示第一客户端的进入频道请求是否成功,若成功,第一频道请求消息的响应消息中携带频道令牌;若未生成,生成频道令牌,并向第一客户端返回第一频道请求消息的响应消息。
本申请实施例提供的方法,对原有流程中的创建频道请求消息进行改造,使其可以同时请求创建并进入频道(即为上述第一频道请求消息),另外,在接收到该消息后,判断是否已生成频道令牌,若没有生成,则生成频道令牌,并在确定该第一客户端的请求成功后,将频道令牌发送给第一客户端,从而实现对非目标版本的第一客户端的兼容。
在上述任意方法实施例的基础上,若所述第二客户端的版本不是目标版本,可以向第二客户端发送对端频道状态消息,用于指示第一客户端已进入所述目标频道。从而实现对非目标版本的第二客户端的兼容。
对于与目标版本的第一客户端和第二客户端的通信,有如下实现方式说明。
在上述任意方法实施例的基础上,服务端还可以在接收到以下至少一个消息后,记录第二通信链路状态:第一客户端发送的第一退出频道消息,第二客户端发送的第二退出频道消息。其中,该第二通信链路状态表示第一客户端与第二客户端之间的通信链路断开。
相应的,若第一客户端与上述声网设备通信异常,可以向服务端发送第一退出频道消息。其中,第一客户端与声网设备的通信异常的情况有多种,例如,令牌验证未通过,发送本客户端的音视频数据的请求未成功,获取第二客户端的音视频数据的请求未成功等等。
若第一客户端接收到指示断开通信链路的触发指令,也可以向服务端发送第一退出频道消息。
相应的,若第二客户端与上述声网设备通信异常,可以向服务端发送第二退出频道消息。其中,第二客户端与声网设备的通信异常的情况有多种,例如,令牌验证未通过,发送本客户端的音视频数据的请求未成功,获取第一客户端的音视频数据的请求未成功等等。
若第二客户端接收到指示断开通信链路的触发指令,也可以向服务端发送第一退出频道消息。
若第一客户端或第二客户端在与声网设备通信过程中出现通信异常,或者第一客户端或第二客户端主动断开通信链路,则会向服务端发送退出频道消息(第一退出频道消息或第二退出频道消息),这种情况下,服务端就会更新本端记录的通信链路状态,即记录上述第二通信链路状态,以确保本端记录的第一客户端和第二客户端的通信链路状态准确,不影响第一客户端以及第二客户端后续的通信链路创建。
在上述任意方法实施例的基础上,若第二客户端接收到服务端发送的第二进入频道请求消息的响应消息,且该第二进入频道请求消息的响应消息指示本客户端进入频道请求失败,第二客户端可以确定与第一客户端的通信链路创建失败。
本申请实施例不对第二客户端确定与第一客户端的通信链路创建失败的具体表现方式进行限定。作为举例而非限定,一种实现方式中,第二客户端通过再次向服务端发送第二进入频道请求消息的方式确定与第一客户端的通信链路创建失败,重复发送该消息的次数不超过预定次数。另一种实现方式中,第二客户端通过人机交互界面向用户告知通信链路建立失败的方式确定与第一客户端的通信链路创建失败。
在上述任意方法实施例的基础上,若第一客户端接收到服务端发送的第一进入频道请求消息的响应消息,且该第一进入频道请求消息的响应消息指示本客户端进入频道请求失败,第一客户端可以确定与第二客户端的通信链路创建失败。
本申请实施例不对第一客户端确定与第二客户端的通信链路创建失败的具体表现方式进行限定。作为举例而非限定,一种实现方式中,第一客户端通过再次向服务端发送第一进入频道请求消息的方式确定与第二客户端的通信链路创建失败,重复发送该消息的次数不超过预定次数。另一种实现方式中,第一客户端通过人机交互界面向用户告知通信链路建立失败的方式确定与第二客户端的通信链路创建失败。
在上述任意方法实施例的基础上,第二客户端若收到上述声网设备返回的第一获取成功响应消息,可以确定第一客户端已进入目标频道。其中,该第一获取成功响应消息用于指示获取第一客户端的音视频数据的请求成功。
也就是说,第二客户端可以通过回调(拉流)成功来确认第一客户端已进入目标频道,而不需要根据服务端的反馈进行此项确认。
本申请实施例不对第二客户端确定第一客户端已进入目标频道的具体表现形式进行限定。一种实现方式中,第二客户端若收到上述声网设备返回的第一获取成功响应消息,则向服务端发送互动请求消息,该互动请求消息用于请求与第一客户端通过建立的通信链路进行指定的互动,例如向服务端发送battle_open(对决开始)消息,请求与第一客户端进行PK(PlayerKilling)。那么,向服务端发送互动请求消息的行为即确定第一客户端已进入目标频道。另一种实现方式中,第二客户端若收到上述声网设备返回的第一获取成功响应消息,则记录第一客户端已进入目标频道的状态信息。那么,记录该状态信息的行为即确定第一客户端已进入目标频道。
本申请实施例提供的方法,第二客户端可以通过声网设备返回的第一获取成功响应消息确认第一客户端是否已经进入目标频道,从而在确保第一客户端与本客户端均已进入目标频道后触发与第一客户端的交互功能。尽量避免或尽早发现第一客户端的异常,从而可以尽量避免由于第一客户端异常导致的音视频会话异常。
在上述任意方法实施例的基础上,第一客户端若收到上述声网设备返回的第二获取成功响应消息,可以确定第二客户端已进入目标频道。其中,该第二获取成功响应消息用于指示获取第二客户端的音视频数据的请求成功。
也就是说,第一客户端可以通过回调(拉流)成功来确认第二客户端已进入目标频道,而不需要根据服务端的反馈进行此项确认。
本申请实施例不对第一客户端确定第二客户端已进入目标频道的具体表现形式进行限定。一种实现方式中,第一客户端若收到上述声网设备返回的第二获取成功响应消息,则向服务端发送互动请求消息,该互动请求消息用于请求与第二客户端通过建立的通信链路进行指定的互动,例如向服务端发送battle_open(对决开始)消息,请求与第二客户端进行PK(PlayerKilling)。那么,向服务端发送互动请求消息的行为即确定第二客户端已进入目标频道。另一种实现方式中,第一客户端若收到上述声网设备返回的第二获取成功响应消息,则记录第二客户端已进入目标频道的状态信息。那么,记录该状态信息的行为即确定第二客户端已进入目标频道。
本申请实施例提供的方法,第一客户端可以通过声网设备返回的第二获取成功响应消息确认第二客户端是否已经进入目标频道,从而可以在确保第二客户端与本客户端均已进入目标频道后触发与第二客户端的交互功能。尽量避免或尽早发现第二客户端的异常,从而可以尽量避免由于第二客户端异常导致的音视频会话异常。
本申请实施例提供的方式,不限定第一客户端与第二客户端进入目标频道的顺序,且二者均可以通过回调响应确认对方是否已进入目标频道。那么,可以由二者其中的任一客户端来触发后续的互动流程。实际应用中,可以预先约定触发后续互动流程的客户端,例如约定由第二客户端触发后续的互动流程。
在上述任意方法实施例的基础上,第二客户端还可以在第二预定时刻开启第二定时器,若第二定时器超时时仍未收到第二频道令牌消息,确定与第一客户端的通信链路创建失败。其中,第二预定时刻可以是以下任意时刻:在向服务端发送接受会话邀请的响应消息的同时,在向服务端发送接受会话邀请的响应消息之前的预定时刻,在向服务端发送接受会话邀请的响应消息之后的预定时刻。
本申请实施例不对第二客户端确定与第一客户端的通信链路创建失败的具体表现方式进行限定。作为举例而非限定,一种实现方式中,第二客户端通过再次向服务端发发起接受会话邀请的响应消息的方式确定与第一客户端的通信链路创建失败,重复发起该消息的次数不超过预定次数。另一种实现方式中,第二客户端通过人机交互界面向用户告知通信链路建立失败的方式确定与第一客户端的通信链路创建失败。
通过设置第二定时器,可以避免长时间等待第二频道令牌消息导致通信链路时延较长。
在上述任意方法实施例的基础上,第一客户端还可以在第一预定时刻开启第一定时器,若第一定时器超时时仍未收到上述第一频道令牌消息,确定与第二客户端的通信链路创建失败。其中,第一预定时刻可以为以下任意时刻:在向服务端发送会话邀请请求消息的同时,在向服务端发送会话邀请请求消息之前的预定时刻,在向服务端发送会话邀请请求消息之后的预定时刻。
本申请实施例不对第一客户端确定与第二客户端的通信链路创建失败的具体表现方式进行限定。作为举例而非限定,一种实现方式中,第一客户端通过再次向服务端发送接受会话邀请的响应消息的方式确定与第二客户端的通信链路创建失败,重复发送该消息的次数不超过预定次数。另一种实现方式中,第一客户端通过人机交互界面向用户告知通信链路建立失败的方式确定与第二客户端的通信链路创建失败。
通过设置第一定时器,可以避免长时间等待第一频道令牌消息导致通信链路时延较长。
如图3所示,本发明实施例提供的服务端侧的通信链路建立方法包括:
步骤301、接收第一客户端发送的会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息;
步骤302、根据第二客户端的标识信息,向第二客户端发送会话邀请消息;
步骤303、接收到第二客户端返回的接受会话邀请的响应消息后,生成频道令牌;
步骤304、向第一客户端发送第一频道令牌消息,该第一频道令牌消息中携带上述频道令牌,以便第一客户端根据该频道令牌与声网设备通信,通过目标频道请求从声网设备获取第二客户端的音视频数据,其中,目标频道用于第一客户端与第二客户端进行音视频会话;
步骤305、向第二客户端发送第二频道令牌消息,该第二频道令牌消息中携带上述频道令牌,以便第二客户端根据该频道令牌与上述声网设备通信,通过目标频道从该声网设备请求获取第一客户端的音视频数据;
步骤306、接收第一客户端发送的第一进入频道请求消息,并向第一客户端返回该第一进入频道请求消息的响应消息,其中,该第一进入频道请求消息是第一客户端在接收到第一频道令牌消息后发送的,用于请求进入目标频道,该第一进入频道请求消息的响应消息用于指示第一客户端的进入频道请求是否成功;
步骤307、接收第二客户端发送的第二进入频道请求消息,并向第二客户端返回该第二进入频道请求消息的响应消息,其中,该第二进入频道请求消息是第二客户端在接收到第二频道令牌消息后发送的,用于请求进入目标频道,该第二进入频道请求消息的响应消息用于指示第二客户端的进入频道请求是否成功;
步骤308、若第一客户端和第二客户端的进入频道请求均成功,记录第一通信链路状态,第一通信链路状态表示第一客户端与第二客户端之间的通信链路建立成功。
本申请实施例提供的上述方法在服务端实现,服务端在接收到第二客户端返回的接受会话邀请的响应消息后生成频道令牌并分别发送给第一客户端和第二客户端,第一客户端和第二客户端在接收到该频道令牌后即可向服务端请求进入目标频道,而不需要在第一客户端完成频道进入后再触发第二客户端进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
其具体实现方式可以参照前述实施例的描述,此处不再赘述。
如图4所示,本发明实施例提供的第一客户端侧的通信链路建立方法包括:
步骤401、向服务端发送会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息,以便服务端根据第二客户端的标识信息,向第二客户端发送会话邀请消息;
步骤402、接收服务端发送的第一频道令牌消息,该第一频道令牌消息为上述会话邀请请求消息的响应消息,其中携带频道令牌,该第一频道令牌消息是服务端在判断本客户端的版本为目标版本的情况下发送的;
步骤403、向服务端发送第一进入频道请求消息,第一进入频道消息用于请求进入目标频道,目标频道用于本客户端与第二客户端进行音视频会话;
步骤404、若接收到服务端返回的上述第一进入频道请求消息的响应消息,且该第一进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据频道令牌与声网设备通信,与该声网设备的通信至少包括以下步骤:将频道令牌发送给声网设备,以进行令牌验证;令牌验证通过后,通过目标频道向声网设备请求发送本客户端的音视频数据,并通过目标频道向声网设备请求获取第二客户端的音视频数据。
其具体实现方式可以参照前述实施例的描述,此处不再赘述。
下面以主播A与主播B之间进行连麦PK的场景为例,对主播A的第一客户端与主播B的第二客户端之间建立通信链路的实现过程进行详细说明。
主播A点击第一客户端界面上提供的PK按钮,第一客户端响应该点击事件,与服务端进行通信,从服务端获取好友列表并从好友列表中选择主播B,或者接受服务端通过随机匹配返回的主播B。
如果第一客户端和第二客户端均为目标版本的客户端,那么如图5所示:
第一客户端向服务端发送会话邀请(invite)请求消息,并启动第一定时器,该定时器的计时时长为12秒,该会话邀请请求消息为RPC(Remote Procedure Call,远程过程调用)Request(请求)消息,其中携带第二客户端的标识信息;
服务端根据第二客户端的标识信息,向第二客户端发送会话邀请(invite)消息,该会话邀请消息为信令消息;
第二客户端向服务端返回接受会话邀请的响应消息(replay),并启动第二定时器,该第二定时器的计时时长为10秒,该接受会话邀请的响应消息为RPC请求消息;
服务端在接收到上述接受会话邀请的响应消息后,计算访问令牌;
服务端向第一客户端发送会话邀请请求消息的响应消息,在该响应消息中携带访问令牌,并向第二客户端发送接受会话邀请的响应消息的响应消息,该响应消息中携带访问令牌;其中,会话邀请请求消息的响应消息为信令消息,接受会话邀请的响应消息的响应消息为RPC response(响应)消息;
第一客户端在接收到访问令牌后,向服务端发送第一进入频道请求(join_channel)消息,该消息为RPC请求消息;
服务端向第一客户端返回第一进入频道请求消息的响应消息,指示进入频道请求成功,该消息为RPC响应消息;
第一客户端利用上述访问令牌与声网设备进行通信,即RTC过程。在RTC成功后,即可实现与第二客户端的连麦互动;
第二客户端在接收到访问令牌后,向服务端发送第二进入频道请求(join_channel)消息,该消息为RPC请求消息;
服务端向第二客户端返回第二进入频道请求消息的响应消息,指示进入频道请求成功,该消息为RPC响应消息;
第二客户端利用上述访问令牌与声网设备进行通信,即RTC过程;
在RTC成功后,第二客户端向服务器发送battle_open(对决开始)请求消息,该消息为RPC请求消息;
服务端记录第一通信链路状态信息。
其中,当第一客户端从服务端接收到指示请求成功的第一进入频道请求消息的响应消息,则在其界面上显示双屏,其中一个屏幕用于显示本客户端的视频画面,另一个屏幕用于显示第二客户端的视频画面。在拉流成功之前,用于显示第二客户端的视频画面的屏幕为黑屏状态,当黑屏状态的持续时间超过预定时间,第一客户端向服务器发送第一退出链路消息,并允许主播A重新发其连麦或PK。
其中,当第二客户端从服务端接收到指示请求成功的第二进入频道请求消息的响应消息,则在其界面上显示双屏,其中一个屏幕用于显示本客户端的视频画面,另一个屏幕用于显示第一客户端的视频画面。在拉流成功之前,用于显示第一客户端的视频画面的屏幕为黑屏状态,当黑屏状态的持续时间超过预定时间,第二客户端向服务器发送第二退出链路消息,并允许主播A重新发其连麦或PK。
当一方客户端退出连麦,则另一方客户端可以通过与声望设备的通信获知该状态,随即也会退出连麦。
其中,当第一定时器的计时时间超时,当前通信链路创建过程结束,第一客户端可以重新向第二客户端或其他客户端发起会话邀请。
其中,若第二客户端的RTC过程失败,则第二客户端退出连麦,第一客户端在黑屏持续时间超过预定时间后也退出连麦。
其中,若第一客户端的进入频道请求失败,则第一客户端退出连麦,随即第二客户端也退出连麦。
其中,若第二客户端的进入频道请求失败,则第二客户端退出连麦,随即第一客户端也退出连麦。
如果第一客户端为目标版本的客户端,但第二客户端非目标版本的客户端,那么如图6所示:
第一客户端向服务端发送会话邀请(invite)请求消息,并启动第一定时器,该定时器的计时时长为12秒,该会话邀请请求消息为RPC(Remote Procedure Call,远程过程调用)Request(请求)消息,其中携带第二客户端的标识信息和本客户端的版本信息;
服务端根据第二客户端的标识信息,向第二客户端发送会话邀请(invite)消息,该会话邀请消息为信令消息;
第二客户端向服务端返回接受会话邀请的响应消息(replay),并启动第二定时器,该第二定时器的计时时长为10秒,该接受会话邀请的响应消息为RPC请求消息,其中携带本客户端的版本信息;
服务端在接收到上述接受会话邀请的响应消息后,计算访问令牌;
服务端确认第一客户端为目标版本客户端,向第一客户端发送会话邀请请求消息的响应消息,在该响应消息中携带访问令牌;其中,该消息为信令消息;
服务端确认第二客户端非目标版本客户端,向第二客户端发送对端频道状态消息(notify_join),该消息中携带访问令牌;其中,该消息为信令消息;
第一客户端在接收到访问令牌后,向服务端发送第一进入频道请求(join_channel)消息,该消息为RPC请求消息;
服务端向第一客户端返回第一进入频道请求消息的响应消息,指示进入频道请求成功,该消息为RPC响应消息;
第一客户端利用上述访问令牌与声网设备进行通信,即RTC过程。在RTC成功后,即可实现与第二客户端的连麦互动;
第二客户端在接收到访问令牌后,向服务端发送第二进入频道请求(join_channel)消息,该消息为RPC请求消息;
服务端向第二客户端返回第二进入频道请求消息的响应消息,指示进入频道请求成功,该消息为RPC响应消息;
第二客户端利用上述访问令牌与声网设备进行通信,即RTC过程;
在RTC成功后,第二客户端向服务器发送battle_open(对决开始)请求消息,该消息为RPC请求消息;
服务端记录第一通信链路状态信息。
其中,当第一客户端从服务端接收到指示请求成功的第一进入频道请求消息的响应消息,则在其界面上显示双屏,其中一个屏幕用于显示本客户端的视频画面,另一个屏幕用于显示第二客户端的视频画面。在拉流成功之前,用于显示第二客户端的视频画面的屏幕为黑屏状态,当黑屏状态的持续时间超过预定时间,第一客户端向服务器发送第一退出链路消息,并允许主播A重新发其连麦或PK。
其中,当第二客户端从服务端接收到指示请求成功的第二进入频道请求消息的响应消息,则在其界面上显示双屏,其中一个屏幕用于显示本客户端的视频画面,另一个屏幕用于显示第一客户端的视频画面。在拉流成功之前,用于显示第一客户端的视频画面的屏幕为黑屏状态,当黑屏状态的持续时间超过预定时间,第二客户端向服务器发送第二退出链路消息,并允许主播A重新发其连麦或PK。
其中,当第一定时器的计时时间超时,当前通信链路创建过程结束,第一客户端可以重新向第二客户端或其他客户端发起会话邀请。
如果第一客户端非目标版本的客户端,但第二客户端为目标版本的客户端,那么如图7所示:
第一客户端向服务端发送会话邀请(invite)请求消息,并启动第一定时器,该定时器的计时时长为12秒,该会话邀请请求消息为RPC请求消息,其中携带第二客户端的标识信息和本客户端的版本信息;
服务端根据第二客户端的标识信息,向第二客户端发送会话邀请(invite)消息,该会话邀请消息为信令消息;
第二客户端向服务端返回接受会话邀请的响应消息(replay),并启动第二定时器,该第二定时器的计时时长为10秒,该接受会话邀请的响应消息为RPC请求消息,其中携带本客户端的版本信息;
服务端在接收到上述接受会话邀请的响应消息后,计算访问令牌;
服务端确认第一客户端为非目标版本客户端,向第一客户端发送会话邀请请求消息的响应消息,在该响应消息中携带访问令牌;其中,该消息为信令消息;
服务端确认第二客户端为目标版本客户端,向第二客户端发送接受会话邀请的响应消息的响应消息,该消息中携带访问令牌;其中,该消息为RPC响应消息;
第二客户端在接收到访问令牌后,向服务端发送第二进入频道请求(join_channel)消息,该消息为RPC请求消息;
第一客户端在接收到会话邀请请求消息的响应消息后,忽略其中的访问令牌,向服务端发送第一频道请求(turn_on)消息,该消息为RPC请求消息,用于请求创建并进入目标频道;
服务端判断是否已生成访问令牌,若已生成,则向第一客户端返回第一频道请求消息的响应消息,指示频道创建及进入请求成功,该消息为RPC响应消息,其中携带访问令牌;若未生成,则生成访问令牌并将其携带在第一频道请求消息的响应消息中发出;
第一客户端在接收到访问令牌后,向服务端发送进入目标频道的请求消息;
服务端判断是否已处理过第一客户端的进入目标频道的请求,若处理过,则忽略该请求。
第一客户端利用上述访问令牌与声网设备进行通信,即RTC过程。在RTC成功后,即可实现与第二客户端的连麦互动;
第一客户端向服务器发送已进入目标频道的确认消息(notify_join),该消息为RPC请求消息。
服务端接收到该消息后不需要进行处理。
服务端向第二客户端返回第二进入频道请求消息的响应消息,指示进入频道请求成功,该消息为RPC响应消息;
第二客户端利用上述访问令牌与声网设备进行通信,即RTC过程;
在RTC成功后,第二客户端向服务器发送battle_open(对决开始)请求消息,该消息为RPC请求消息;
服务端记录第一通信链路状态信息。
其中,当第一客户端从服务端接收到指示请求成功的第一进入频道请求消息的响应消息,则在其界面上显示双屏,其中一个屏幕用于显示本客户端的视频画面,另一个屏幕用于显示第二客户端的视频画面。在拉流成功之前,用于显示第二客户端的视频画面的屏幕为黑屏状态,当黑屏状态的持续时间超过预定时间,第一客户端向服务器发送第一退出链路消息,并允许主播A重新发其连麦或PK。
其中,当第二客户端从服务端接收到指示请求成功的第二进入频道请求消息的响应消息,则在其界面上显示双屏,其中一个屏幕用于显示本客户端的视频画面,另一个屏幕用于显示第一客户端的视频画面。在拉流成功之前,用于显示第一客户端的视频画面的屏幕为黑屏状态,当黑屏状态的持续时间超过预定时间,第二客户端向服务器发送第二退出链路消息,并允许主播A重新发其连麦或PK。
其中,当第一定时器的计时时间超时,当前通信链路创建过程结束,第一客户端可以重新向第二客户端或其他客户端发起会话邀请。
如果第一客户端和第二客户端均非目标版本的客户端,那么如图8所示:
第一客户端向服务端发送会话邀请(invite)请求消息,并启动第一定时器,该定时器的计时时长为12秒,该会话邀请请求消息为RPC请求消息,其中携带第二客户端的标识信息和本客户端的版本信息;
服务端根据第二客户端的标识信息,向第二客户端发送会话邀请(invite)消息,该会话邀请消息为信令消息;
第二客户端向服务端返回接受会话邀请的响应消息(replay),并启动第二定时器,该第二定时器的计时时长为10秒,该接受会话邀请的响应消息为RPC请求消息,其中携带本客户端的版本信息;
服务端在接收到上述接受会话邀请的响应消息后,计算访问令牌;
服务端确认第一客户端为非目标版本客户端,向第一客户端发送会话邀请请求消息的响应消息,在该响应消息中携带访问令牌;其中,该消息为信令消息;
服务端确认第二客户端非目标版本客户端,向第二客户端发送对端频道状态消息,该消息中携带访问令牌;其中,该消息为信令消息;
第二客户端在接收到访问令牌后,向服务端发送第二进入频道请求(join_channel)消息,该消息为RPC请求消息;
第一客户端在接收到会话邀请请求消息的响应消息后,忽略其中的访问令牌,向服务端发送第一频道请求(turn_on)消息,该消息为RPC请求消息,用于请求创建并进入目标频道;
服务端判断是否已生成访问令牌,若已生成,则向第一客户端返回第一频道请求消息的响应消息,指示频道创建及进入请求成功,该消息为RPC响应消息,其中携带访问令牌;
第一客户端在接收到访问令牌后,向服务端发送进入目标频道的请求消息;
服务端判断是否已处理过第一客户端的进入目标频道的请求,若处理过,则忽略该请求。
第一客户端利用上述访问令牌与声网设备进行通信,即RTC过程。在RTC成功后,即可实现与第二客户端的连麦互动;
第一客户端向服务器发送已进入目标频道的确认消息(notify_join),该消息为RPC请求消息。
服务端接收到该消息后不需要进行处理。
服务端向第二客户端返回第二进入频道请求消息的响应消息,指示进入频道请求成功,该消息为RPC响应消息;
第二客户端利用上述访问令牌与声网设备进行通信,即RTC过程;
在RTC成功后,第二客户端向服务器发送battle_open(对决开始)请求消息,该消息为RPC请求消息;
服务端记录第一通信链路状态信息。基于与服务端侧的方法同样的发明构思,本申请实施例提供一种通信链路建立装置,包括:
会话邀请请求消息接收模块,用于接收第一客户端发送的会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息;
会话邀请消息发送模块,用于根据第二客户端的标识信息,向第二客户端发送会话邀请消息;
频道令牌生成模块,用于接收到第二客户端返回的接受会话邀请的响应消息后,生成频道令牌;
第一频道令牌消息发送模块,用于向第一客户端发送第一频道令牌消息,该第一频道令牌消息中携带上述频道令牌,以便第一客户端根据该频道令牌与声网设备通信,通过目标频道请求从声网设备获取第二客户端的音视频数据,其中,目标频道用于第一客户端与第二客户端进行音视频会话;
第二频道令牌消息发送模块,用于向第二客户端发送第二频道令牌消息,该第二频道令牌消息中携带上述频道令牌,以便第二客户端根据该频道令牌与上述声网设备通信,通过目标频道从该声网设备请求获取第一客户端的音视频数据;
第一频道进入请求响应模块,用于接收第一客户端发送的第一进入频道请求消息,并向第一客户端返回该第一进入频道请求消息的响应消息,其中,该第一进入频道请求消息是第一客户端在接收到第一频道令牌消息后发送的,用于请求进入目标频道,该第一进入频道请求消息的响应消息用于指示第一客户端的进入频道请求是否成功;
第二频道进入请求响应模块,用于接收第二客户端发送的第二进入频道请求消息,并向第二客户端返回该第二进入频道请求消息的响应消息,其中,该第二进入频道请求消息是第二客户端在接收到第二频道令牌消息后发送的,用于请求进入目标频道,该第二进入频道请求消息的响应消息用于指示第二客户端的进入频道请求是否成功;
通信链路状态记录模块,用于若第一客户端和第二客户端的进入频道请求均成功,记录第一通信链路状态,第一通信链路状态表示第一客户端与第二客户端之间的通信链路建立成功。
本申请实施例提供的上述装置在服务端实现,服务端在接收到第二客户端返回的接受会话邀请的响应消息后生成频道令牌并分别发送给第一客户端和第二客户端,第一客户端和第二客户端在接收到该频道令牌后即可向服务端请求进入目标频道,而不需要在第一客户端完成频道进入后再触发第二客户端进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
可选的,上述第一频道令牌消息为上述会话邀请请求消息的响应消息。
本申请实施例提供的装置,通过会话邀请请求消息的响应消息携带频道令牌,一方面利用现有通信链路创建过程中的消息而不需要增加新的消息,可以减少消息交互,降低延时。另一方面,不需要通过原有通信链路创建过程中的频道创建消息的响应消息携带频道令牌,相应的,也就不需要频道创建的交互过程,进一步简化通信链路创建流程,降低时延。
可选的,上述第二频道令牌消息为上述接受会话邀请的响应消息的响应消息。
如上所述,第二客户端不需要等待第一客户端进入目标频道完成后再进入目标频道,而是可以和第一客户端同时请求进入目标频道,那么,就可以提前到通过接受会话邀请的响应消息的响应消息携带频道令牌,以便第二客户端在接收到该响应消息后即可发出第二进入频道请求消息,进一步缩短通信链路建立时延。
在上述任意装置实施例的基础上,上述通信链路状态记录模块还可以在接收到以下至少一个消息后,记录第二通信链路状态:第一客户端发送的第一退出频道消息,第二客户端发送的第二退出频道消息。其中,该第二通信链路状态表示第一客户端与第二客户端之间的通信链路断开。
若第一客户端或第二客户端在与声网设备通信过程中出现通信异常,或者第一客户端或第二客户端主动断开通信链路,则会向服务端发送退出频道消息(第一退出频道消息或第二退出频道消息),这种情况下,服务端就会更新本端记录的通信链路状态,即记录上述第二通信链路状态,以确保本端记录的第一客户端和第二客户端的通信链路状态准确,不影响第一客户端以及第二客户端后续的通信链路创建。
基于与第二客户端侧的方法同样的发明构思,本申请实施例提供一种通信链路建立装置,包括:
会话邀请消息接收模块,用于接收服务端发送的会话邀请消息,该会话邀请消息是服务端在接收到第一客户端发送的会话邀请请求消息后发送的;
第一响应消息发送模块,用于向服务端发送接受会话邀请的响应消息;
第二频道令牌消息接收模块,用于接收服务端发送的第二频道令牌消息,该第二频道令牌消息中携带频道令牌;
第二进入频道请求消息发送模块,用于向服务端发送第二进入频道请求消息,第二进入频道请求消息用于请求进入目标频道,该目标频道用于第一客户端与本客户端进行音视频会话;
第一声网设备通信模块,用于若接收到服务端返回的第二进入频道请求消息的响应消息,且该第二进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据上述频道令牌与声网设备通信,与该声网设备的通信至少包括以下步骤:将频道令牌发送给声网设备,以进行令牌验证;令牌验证通过后,通过上述目标频道向声网设备请求发送本客户端的音视频数据,并通过目标频道向声网设备请求获取第一客户端的音视频数据。
本申请实施例提供的上述装置在接收会话邀请的第二客户端上实现,第二客户端在向服务端发送接受会话邀请的响应消息后,会接收到频道令牌。之后,第二客户端向服务端请求进入目标频道,而不需要等到第一客户端完成目标频道进入后才请求进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
可选的,第二客户端与上述声网设备的通信采用实时通信技术实现,而不是采用传统的即时通信技术实现,可以尽快发现通信异常,并停止后续通信过程,且尽量避免由于即时技术带来的延迟导致通信链路异常。
在上述任意第二客户端侧的装置实施例的基础上,第一声网设备通信模块若收到上述声网设备返回的第一获取成功响应消息,可以确定第一客户端已进入目标频道。其中,该第一获取成功响应消息用于指示获取第一客户端的音视频数据的请求成功。
本申请实施例提供的装置,可以通过声网设备返回的第一获取成功响应消息确认第一客户端是否已经进入目标频道,从而在确保第一客户端与本客户端均已进入目标频道后触发与第一客户端的交互功能。尽量避免或尽早发现第一客户端的异常,从而可以尽量避免由于第一客户端异常导致的音视频会话异常。
在上述任意第二客户端侧的装置实施例的基础上,该装置还可以包括第二退出频道消息发送模块,用于若与上述声网设备通信异常,向服务端发送第二退出频道消息,以便服务端记录第二通信链路状态,该第二通信链路状态表示第一客户端与本客户端之间的通信链路断开。
若本客户端在与声网设备通信过程中出现通信异常,或者本客户端主动断开通信链路,则会向服务端发送第二退出频道消息,这种情况下,服务端就会更新本端记录的通信链路状态,即记录上述第二通信链路状态,以确保其记录的第一客户端和第二客户端的通信链路状态准确,不影响第一客户端以及第二客户端后续的通信链路创建。
在上述任意第二客户端侧的装置实施例的基础上,还可以包括第一计时模块,用于在第二预定时刻开启第二定时器,若第二定时器超时时仍未收到第二频道令牌消息,确定与第一客户端的通信链路创建失败。其中,第二预定时刻可以是以下任意时刻:在向服务端发送接受会话邀请的响应消息的同时,在向服务端发送接受会话邀请的响应消息之前的预定时刻,在向服务端发送接受会话邀请的响应消息之后的预定时刻。
通过设置第二定时器,可以避免长时间等待第二频道令牌消息导致通信链路时延较长。
在上述任意第二客户端侧的装置实施例的基础上,第一声网设备通信模块若接收到服务端发送的第二进入频道请求消息的响应消息,且该第二进入频道请求消息的响应消息指示本客户端进入频道请求失败,第二客户端可以确定与第一客户端的通信链路创建失败。
基于与第一客户端侧的方法同样的发明构思,本申请实施例提供一种通信链路建立装置,包括:
会话邀请请求消息发送模块,用于向服务端发送会话邀请请求消息,该会话邀请请求消息中携带第二客户端的标识信息,以便服务端根据第二客户端的标识信息,向第二客户端发送会话邀请消息;
第一频道令牌消息接收模块,用于接收服务端发送的第一频道令牌消息,该第一频道令牌消息为上述会话邀请请求消息的响应消息,其中携带频道令牌;
第一进入频道请求消息发送模块,用于向服务端发送第一进入频道请求消息,第一进入频道消息用于请求进入目标频道,目标频道用于本客户端与第二客户端进行音视频会话;
第二声网设备通信模块,用于若接收到服务端返回的上述第一进入频道请求消息的响应消息,且该第一进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据频道令牌与声网设备通信,与该声网设备的通信至少包括以下步骤:将频道令牌发送给声网设备,以进行令牌验证;令牌验证通过后,通过目标频道向声网设备请求发送本客户端的音视频数据,并通过目标频道向声网设备请求获取第二客户端的音视频数据。
本申请实施例提供的上述装置在发起会话邀请的第一客户端上实现,第一客户端通过会话邀请请求消息的响应消息中携带的频道令牌与声网设备通信,且在接收到该响应消息后发送第一进入频道请求消息,一方面利用现有通信链路创建过程中的消息而不需要增加新的消息,可以减少消息交互,降低延时。另一方面,不需要通过原有通信链路创建过程中的频道创建消息的响应消息携带频道令牌,相应的,也就不需要频道创建的交互过程,进一步简化通信链路创建流程,降低时延。
可选的,第一客户端与上述声网设备的通信采用实时通信技术实现,而不是采用传统的即时通信技术实现,可以尽快发现通信异常,并停止后续通信过程,且尽量避免由于即时技术带来的延迟导致通信链路异常。
在上述任意第一客户端侧的装置实施例的基础上,第二声网设备通信模块若收到上述声网设备返回的第二获取成功响应消息,确定第二客户端已进入目标频道。其中,第二获取成功响应消息用于指示获取第二客户端的音视频数据的请求成功。
本申请实施例提供的装置,可以通过声网设备返回的第二获取成功响应消息确认第二客户端是否已经进入目标频道,从而可以在确保第二客户端与本客户端均已进入目标频道后触发与第二客户端的交互功能。尽量避免或尽早发现第二客户端的异常,从而可以尽量避免由于第二客户端异常导致的音视频会话异常。
在上述任意第一客户端侧的装置实施例的基础上,该装置还可以包括第一退出频道消息发送模块,用于若与上述声网设备通信异常,向服务端发送第一退出频道消息,以便服务端记录第二通信链路状态,第二通信链路状态表示本客户端与第二客户端之间的通信链路断开。
若本客户端在与声网设备通信过程中出现通信异常,或者本客户端主动断开通信链路,则会向服务端发送第一退出频道消息,这种情况下,服务端就会更新本端记录的通信链路状态,即记录上述第二通信链路状态,以确保其记录的第一客户端和第二客户端的通信链路状态准确,不影响第一客户端以及第二客户端后续的通信链路创建。
在上述任意第一客户端侧的装置实施例的基础上,该装置还可以包括第二计时模块,用于在第一预定时刻开启第一定时器,若第一定时器超时时仍未收到上述第一频道令牌消息,确定与第二客户端的通信链路创建失败。其中,第一预定时刻可以为以下任意时刻:在向服务端发送会话邀请请求消息的同时,在向服务端发送会话邀请请求消息之前的预定时刻,在向服务端发送会话邀请请求消息之后的预定时刻。
通过设置第一定时器,可以避免长时间等待第一频道令牌消息导致通信链路时延较长。
在上述任意第一客户端侧的装置实施例的基础上,第二声网设备通信模块若接收到服务端发送的第一进入频道请求消息的响应消息,且该第一进入频道请求消息的响应消息指示本客户端进入频道请求失败,第一客户端可以确定与第二客户端的通信链路创建失败。
基于与服务端侧方法同样的发明构思,本申请实施例提供一种服务端设备,包括处理器和存储器;存储器用于存储执行上述任意服务端侧方法实施例所述方法的程序;处理器被配置为执行该存储器中存储的程序。
本申请实施例提供的服务端设备,在接收到第二客户端返回的接受会话邀请的响应消息后生成频道令牌并分别发送给第一客户端和第二客户端,第一客户端和第二客户端在接收到该频道令牌后即可向服务端请求进入目标频道,而不需要在第一客户端完成频道进入后再触发第二客户端进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
基于与第二客户端侧方法同样的发明构思,本申请实施例提供一种客户端设备,包括处理器和存储器;存储器用于存储执行上述任意第二客户端侧方法实施例所述方法的程序;处理器被配置为执行上述存储器中存储的程序。
本申请实施例提供的上述客户端设备作为会话邀请的接收方,在向服务端发送接受会话邀请的响应消息后,会接收到频道令牌。之后,向服务端请求进入目标频道,而不需要等到第一客户端完成目标频道进入后才请求进入目标频道,由此可以达到缩短音视频会话通信链路的建立时间,提升音视频会话的效果。
基于与第一客户端侧方法同样的发明构思,本申请实施例提供一种客户端设备,包括处理器和存储器;存储器用于存储执行上述任意第一客户端侧方法实施例所述方法的程序;处理器被配置为执行上述存储器中存储的程序。
本申请实施例提供的客户端设备作为会话邀请的发起方,通过会话邀请请求消息的响应消息中携带的频道令牌与声网设备通信,且在接收到该响应消息后发送第一进入频道请求消息,一方面利用现有通信链路创建过程中的消息而不需要增加新的消息,可以减少消息交互,降低延时。另一方面,不需要通过原有通信链路创建过程中的频道创建消息的响应消息携带频道令牌,相应的,也就不需要频道创建的交互过程,进一步简化通信链路创建流程,降低时延。
本申请实施例提供一种计算机可读存储介质,存储有执行上述任意实施例所述方法的程序。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

Claims (10)

1.一种通信链路建立方法,其特征在于,包括:
接收第一客户端发送的会话邀请请求消息,所述会话邀请请求消息中携带第二客户端的标识信息;
根据所述第二客户端的标识信息,向所述第二客户端发送会话邀请消息;
接收到所述第二客户端返回的接受会话邀请的响应消息后,生成频道令牌;
获取所述第一客户端的版本信息,根据所述第一客户端的版本信息判断所述第一客户端的版本是否为目标版本;
获取所述第二客户端的版本信息,根据所述第二客户端的版本信息判断所述第二客户端的版本是否为目标版本;
若所述第一客户端的版本为目标版本,向所述第一客户端发送第一频道令牌消息,所述第一频道令牌消息中携带所述频道令牌,以便所述第一客户端根据所述频道令牌与声网设备通信,通过目标频道从所述声网设备请求获取所述第二客户端的音视频数据,所述目标频道用于所述第一客户端与所述第二客户端进行音视频会话;
若所述第二客户端的版本为目标版本,向所述第二客户端发送第二频道令牌消息,所述第二频道令牌消息中携带所述频道令牌,以便所述第二客户端根据所述频道令牌与所述声网设备通信,通过所述目标频道从所述声网设备请求获取所述第一客户端的音视频数据;
接收所述第一客户端发送的第一进入频道请求消息,并向所述第一客户端返回所述第一进入频道请求消息的响应消息,所述第一进入频道请求消息是所述第一客户端在接收到所述第一频道令牌消息后发送的,用于请求进入所述目标频道,所述第一进入频道请求消息的响应消息用于指示所述第一客户端的进入频道请求是否成功;
接收所述第二客户端发送的第二进入频道请求消息,并向所述第二客户端返回所述第二进入频道请求消息的响应消息,所述第二进入频道请求消息是所述第二客户端在接收到所述第二频道令牌消息后发送的,用于请求进入所述目标频道,所述第二进入频道请求消息的响应消息用于指示所述第二客户端的进入频道请求是否成功;
若所述第一客户端和所述第二客户端的进入频道请求均成功,记录第一通信链路状态,所述第一通信链路状态表示所述第一客户端与所述第二客户端之间的通信链路建立成功。
2.根据权利要求1所述的方法,其特征在于:
所述会话邀请请求消息中携带所述第一客户端的版本信息,所述获取所述第一客户端的版本信息,包括:从所述会话邀请请求消息中获取所述第一客户端的版本信息;
和/或,
所述接受会话邀请的响应消息中携带所述第二客户端的版本信息,所述获取所述第二客户端的版本信息,包括:从所述接受会话邀请的响应消息中获取所述第二客户端的版本信息。
3.根据权利要求1或2所述的方法,其特征在于,若所述第一客户端的版本不是目标版本,所述方法还包括:
接收所述第一客户端发送的第一频道请求消息,所述第一频道请求消息用于请求创建并进入所述目标频道;
判断是否已生成频道令牌;
若已生成,向所述第一客户端返回所述第一频道请求消息的响应消息,所述第一频道请求消息的响应消息用于指示所述第一客户端的进入频道请求是否成功,若成功,所述第一频道请求消息的响应消息中携带所述频道令牌;
若未生成,生成频道令牌,并向所述第一客户端返回所述第一频道请求消息的响应消息;
若所述第二客户端的版本不是目标版本,所述方法还包括:
向所述第二客户端发送对端频道状态消息,用于指示所述第一客户端已进入所述目标频道。
4.一种通信链路建立方法,其特征在于,包括:
向服务端发送会话邀请请求消息,所述会话邀请请求消息中携带第二客户端的标识信息,以便所述服务端根据所述第二客户端的标识信息,向所述第二客户端发送会话邀请消息;
接收所述服务端发送的第一频道令牌消息,所述第一频道令牌消息为所述会话邀请请求消息的响应消息,所述第一频道令牌消息中携带频道令牌,所述第一频道令牌消息是所述服务端在判断本客户端的版本为目标版本的情况下发送的;
向所述服务端发送第一进入频道请求消息,所述第一进入频道消息用于请求进入目标频道,所述目标频道用于所述本客户端与第二客户端进行音视频会话;
若接收到所述服务端返回的所述第一进入频道请求消息的响应消息,且所述第一进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据所述频道令牌与声网设备通信,与所述声网设备的通信至少包括以下步骤:将所述频道令牌发送给所述声网设备,以进行令牌验证;令牌验证通过后,通过所述目标频道向所述声网设备请求发送本客户端的音视频数据,并通过所述目标频道向所述声网设备请求获取所述第二客户端的音视频数据。
5.根据权利要求4所述的方法,其特征在于:
所述会话邀请请求消息中携带本客户端的版本信息;
和/或,
若本客户端的版本不是目标版本,所述方法还包括:
向服务端发送会话邀请请求消息后,接收所述服务端发送的会话邀请请求消息的响应消息,若会话邀请请求消息的响应消息指示所述第二客户端接受会话邀请,向所述服务端发送第一频道请求消息,所述第一频道请求消息用于请求创建并进入所述目标频道。
6.一种通信链路建立装置,其特征在于,包括:
会话邀请请求消息接收模块,用于接收第一客户端发送的会话邀请请求消息,所述会话邀请请求消息中携带第二客户端的标识信息;
会话邀请消息发送模块,用于根据所述第二客户端的标识信息,向所述第二客户端发送会话邀请消息;
频道令牌生成模块,用于接收到所述第二客户端返回的接受会话邀请的响应消息后,生成频道令牌;
第一版本信息获取模块,用于获取所述第一客户端的版本信息,根据所述第一客户端的版本信息判断所述第一客户端的版本是否为目标版本;
第二版本信息获取模块,用于获取所述第二客户端的版本信息,根据所述第二客户端的版本信息判断所述第二客户端的版本是否为目标版本;
第一频道令牌消息发送模块,用于若所述第一客户端的版本为目标版本,向所述第一客户端发送第一频道令牌消息,所述第一频道令牌消息中携带所述频道令牌,以便所述第一客户端根据所述频道令牌与声网设备通信,通过目标频道从所述声网设备请求获取所述第二客户端的音视频数据,所述目标频道用于所述第一客户端与所述第二客户端进行音视频会话;
第二频道令牌消息发送模块,用于若所述第二客户端的版本为目标版本,向所述第二客户端发送第二频道令牌消息,所述第二频道令牌消息中携带所述频道令牌,以便所述第二客户端根据所述频道令牌与所述声网设备通信,通过所述目标频道从所述声网设备请求获取所述第一客户端的音视频数据;
第一频道进入请求响应模块,用于接收所述第一客户端发送的第一进入频道请求消息,并向所述第一客户端返回所述第一进入频道请求消息的响应消息,所述第一进入频道请求消息是所述第一客户端在接收到所述第一频道令牌消息后发送的,用于请求进入所述目标频道,所述第一进入频道请求消息的响应消息用于指示所述第一客户端的进入频道请求是否成功;
第二频道进入请求响应模块,用于接收所述第二客户端发送的第二进入频道请求消息,并向所述第二客户端返回所述第二进入频道请求消息的响应消息,所述第二进入频道请求消息是所述第二客户端在接收到所述第二频道令牌消息后发送的,用于请求进入所述目标频道,所述第二进入频道请求消息的响应消息用于指示所述第二客户端的进入频道请求是否成功;
通信链路状态记录模块,用于若所述第一客户端和所述第二客户端的进入频道请求均成功,记录第一通信链路状态,所述第一通信链路状态表示所述第一客户端与所述第二客户端之间的通信链路建立成功。
7.一种通信链路建立装置,其特征在于,包括:
会话邀请请求消息发送模块,用于向服务端发送会话邀请请求消息,所述会话邀请请求消息中携带第二客户端的标识信息,以便所述服务端根据所述第二客户端的标识信息,向所述第二客户端发送会话邀请消息;
第一频道令牌消息接收模块,用于接收所述服务端发送的第一频道令牌消息,所述第一频道令牌消息为所述会话邀请请求消息的响应消息,所述第一频道令牌消息中携带频道令牌,所述第一频道令牌消息是所述服务端在判断本客户端的版本为目标版本的情况下发送的;
第一进入频道请求消息发送模块,用于向所述服务端发送第一进入频道请求消息,所述第一进入频道消息用于请求进入目标频道,所述目标频道用于所述本客户端与第二客户端进行音视频会话;
第二声网设备通信模块,用于若接收到所述服务端返回的所述第一进入频道请求消息的响应消息,且所述第一进入频道请求消息的响应消息指示本客户端的进入频道请求成功,根据所述频道令牌与声网设备通信,与所述声网设备的通信至少包括以下步骤:将所述频道令牌发送给所述声网设备,以进行令牌验证;令牌验证通过后,通过所述目标频道向所述声网设备请求发送本客户端的音视频数据,并通过所述目标频道向所述声网设备请求获取所述第二客户端的音视频数据。
8.一种服务端设备,其特征在于,包括处理器和存储器;
所述存储器用于存储执行权利要求1至3任一项所述方法的程序;
所述处理器被配置为执行所述存储器中存储的程序。
9.一种客户端设备,其特征在于,包括处理器和存储器;
所述存储器用于存储执行权利要求4或5所述方法的程序;
所述处理器被配置为执行所述存储器中存储的程序。
10.一种计算机可读存储介质,其特征在于,存储有执行权利要求1至5任一项所述方法的程序。
CN202010143399.4A 2020-03-04 2020-03-04 通信链路建立方法、装置、设备及存储介质 Active CN111372092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010143399.4A CN111372092B (zh) 2020-03-04 2020-03-04 通信链路建立方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010143399.4A CN111372092B (zh) 2020-03-04 2020-03-04 通信链路建立方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111372092A true CN111372092A (zh) 2020-07-03
CN111372092B CN111372092B (zh) 2022-03-04

Family

ID=71208517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010143399.4A Active CN111372092B (zh) 2020-03-04 2020-03-04 通信链路建立方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111372092B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810775A (zh) * 2021-09-13 2021-12-17 上海哔哩哔哩科技有限公司 语音视频连线系统和方法
CN114257633A (zh) * 2021-12-20 2022-03-29 北京深思数盾科技股份有限公司 远程视频对讲方法及电子设备
CN114269008A (zh) * 2021-12-15 2022-04-01 深圳优美创新科技有限公司 智能穿戴设备及其通话方法、移动终端、存储介质
WO2022083379A1 (zh) * 2020-10-19 2022-04-28 北京字节跳动网络技术有限公司 连接处理方法、装置、电子设备及计算机可读存储介质
CN114554230A (zh) * 2020-11-27 2022-05-27 北京字节跳动网络技术有限公司 连麦状态处理方法、装置、终端、计算机设备及存储介质
CN114554129A (zh) * 2020-11-25 2022-05-27 北京字节跳动网络技术有限公司 一种连麦系统、方法、装置、设备及存储介质
CN115484469A (zh) * 2021-06-15 2022-12-16 北京字节跳动网络技术有限公司 一种连麦系统、方法、装置、设备及存储介质
WO2023241686A1 (zh) * 2022-06-16 2023-12-21 抖音视界(北京)有限公司 直播间连麦方法、装置、电子设备、存储介质及程序产品

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140067977A1 (en) * 2009-05-28 2014-03-06 Google Inc. Systems and Methods for Uploading Media Content In An Instant Messaging Conversation
CN106603713A (zh) * 2016-12-29 2017-04-26 深圳Tcl新技术有限公司 会话管理方法和系统
CN107342861A (zh) * 2017-07-14 2017-11-10 银联商务有限公司 一种数据处理方法、装置及系统
US20180083961A1 (en) * 2016-09-16 2018-03-22 Google Inc. Methods, systems, and media for authentication of user devices to a display device
CN108200480A (zh) * 2018-02-07 2018-06-22 广州市千钧网络科技有限公司 一种游戏直播互动方法、相关设备及系统
CN108769067A (zh) * 2018-06-28 2018-11-06 武汉斗鱼网络科技有限公司 一种鉴权校验方法、装置、设备和介质
CN109995741A (zh) * 2018-01-02 2019-07-09 武汉斗鱼网络科技有限公司 一种网络直播中连麦实现方法及系统
CN110222500A (zh) * 2019-06-14 2019-09-10 深圳前海微众银行股份有限公司 版本管理方法、装置、设备及计算机可读存储介质
CN110674172A (zh) * 2019-09-20 2020-01-10 苏州浪潮智能科技有限公司 数据查询方法及装置
CN110706824A (zh) * 2019-09-27 2020-01-17 京东方科技集团股份有限公司 用于远程会诊的交互方法、装置、服务器、系统及介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140067977A1 (en) * 2009-05-28 2014-03-06 Google Inc. Systems and Methods for Uploading Media Content In An Instant Messaging Conversation
US20180083961A1 (en) * 2016-09-16 2018-03-22 Google Inc. Methods, systems, and media for authentication of user devices to a display device
CN106603713A (zh) * 2016-12-29 2017-04-26 深圳Tcl新技术有限公司 会话管理方法和系统
CN107342861A (zh) * 2017-07-14 2017-11-10 银联商务有限公司 一种数据处理方法、装置及系统
CN109995741A (zh) * 2018-01-02 2019-07-09 武汉斗鱼网络科技有限公司 一种网络直播中连麦实现方法及系统
CN108200480A (zh) * 2018-02-07 2018-06-22 广州市千钧网络科技有限公司 一种游戏直播互动方法、相关设备及系统
CN108769067A (zh) * 2018-06-28 2018-11-06 武汉斗鱼网络科技有限公司 一种鉴权校验方法、装置、设备和介质
CN110222500A (zh) * 2019-06-14 2019-09-10 深圳前海微众银行股份有限公司 版本管理方法、装置、设备及计算机可读存储介质
CN110674172A (zh) * 2019-09-20 2020-01-10 苏州浪潮智能科技有限公司 数据查询方法及装置
CN110706824A (zh) * 2019-09-27 2020-01-17 京东方科技集团股份有限公司 用于远程会诊的交互方法、装置、服务器、系统及介质

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022083379A1 (zh) * 2020-10-19 2022-04-28 北京字节跳动网络技术有限公司 连接处理方法、装置、电子设备及计算机可读存储介质
EP4207648A4 (en) * 2020-10-19 2024-02-28 Beijing Bytedance Network Tech Co Ltd CONNECTION PROCESSING METHOD AND APPARATUS, ELECTRONIC DEVICE AND COMPUTER-READABLE STORAGE MEDIUM
CN114554129B (zh) * 2020-11-25 2023-10-31 北京字节跳动网络技术有限公司 一种连麦系统、方法、装置、设备及存储介质
CN114554129A (zh) * 2020-11-25 2022-05-27 北京字节跳动网络技术有限公司 一种连麦系统、方法、装置、设备及存储介质
CN114554230A (zh) * 2020-11-27 2022-05-27 北京字节跳动网络技术有限公司 连麦状态处理方法、装置、终端、计算机设备及存储介质
CN114554230B (zh) * 2020-11-27 2023-07-25 北京字节跳动网络技术有限公司 连麦状态处理方法、装置、终端、计算机设备及存储介质
CN115484469A (zh) * 2021-06-15 2022-12-16 北京字节跳动网络技术有限公司 一种连麦系统、方法、装置、设备及存储介质
CN115484469B (zh) * 2021-06-15 2024-01-09 北京字节跳动网络技术有限公司 一种连麦系统、方法、装置、设备及存储介质
CN113810775B (zh) * 2021-09-13 2023-04-07 上海哔哩哔哩科技有限公司 语音视频连线系统和方法
CN113810775A (zh) * 2021-09-13 2021-12-17 上海哔哩哔哩科技有限公司 语音视频连线系统和方法
CN114269008A (zh) * 2021-12-15 2022-04-01 深圳优美创新科技有限公司 智能穿戴设备及其通话方法、移动终端、存储介质
CN114257633A (zh) * 2021-12-20 2022-03-29 北京深思数盾科技股份有限公司 远程视频对讲方法及电子设备
WO2023241686A1 (zh) * 2022-06-16 2023-12-21 抖音视界(北京)有限公司 直播间连麦方法、装置、电子设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN111372092B (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN111372092B (zh) 通信链路建立方法、装置、设备及存储介质
CN111385666B (zh) 通信链路建立方法、装置、设备及存储介质
US10423958B2 (en) Method, apparatus and system for voice verification
CN108881783B (zh) 实现多人会话的方法和装置、计算机设备和存储介质
EP2522114B1 (en) Efficient and on demand convergence of audio and non-audio portions of a communication session for phones
CN110213522B (zh) 一种视频数据处理方法、装置以及相关设备
CN105933375B (zh) 一种连麦会话的监测方法、装置和服务器
CN111107441B (zh) 一种连麦通信建立方法、存储介质、电子设备及系统
CN108347337B (zh) 会议通信方法和装置
US20100005517A1 (en) Iptv content sharing in ims network
CN111669661B (zh) 一种基于trtc协议的电视音视频通话系统及方法
CN106161201B (zh) 一种以邮箱账号为标识参与群聊的方法、设备及系统
US20240106772A1 (en) Real time chat system and apparatus, device, and storage medium
US20220021715A1 (en) Live streaming method and apparatus, device and computer readable storage medium
CN113489736A (zh) 多媒体会议的实现方法、装置、设备及存储介质
CN112291501B (zh) 一种视频会议控制方法及装置
CN109819278B (zh) 直播视频的优化方法
CN114845124B (zh) 基于WebSocket同步控制的机顶盒直播方法
US20110158231A1 (en) Communication system and computer program product
US8909789B2 (en) Providing push to all (PTA) service
CN111107300B (zh) 一种终端会议的开启方法、装置、终端设备及存储介质
WO2017141041A1 (en) System and method for assisting conference calls
CN103684804A (zh) 一种会议订阅的方法及装置
CN111212052A (zh) 业务处理方法、装置、电子设备及存储介质
CN111865878A (zh) 一种通话方法、监控装置、云端平台及监控系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder