CN108848398A - 一种本地弹幕消息的分发方法、装置、终端和存储介质 - Google Patents

一种本地弹幕消息的分发方法、装置、终端和存储介质 Download PDF

Info

Publication number
CN108848398A
CN108848398A CN201810642968.2A CN201810642968A CN108848398A CN 108848398 A CN108848398 A CN 108848398A CN 201810642968 A CN201810642968 A CN 201810642968A CN 108848398 A CN108848398 A CN 108848398A
Authority
CN
China
Prior art keywords
barrage
message
local
target
barrage 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
CN201810642968.2A
Other languages
English (en)
Other versions
CN108848398B (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810642968.2A priority Critical patent/CN108848398B/zh
Publication of CN108848398A publication Critical patent/CN108848398A/zh
Application granted granted Critical
Publication of CN108848398B publication Critical patent/CN108848398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • 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/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种本地弹幕消息的分发方法、装置、终端和存储介质。该方法包括:接收本地预先定义的包含有客户端包名信息的目标弹幕消息;将目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象;将弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。通过采用上述技术方案,在本地对弹幕消息的调试过程中,避免了对C++服务器的依赖,极大地提高了开发效率并且能够使得整个调试流程更加便捷。

Description

一种本地弹幕消息的分发方法、装置、终端和存储介质
技术领域
本发明实施例涉及弹幕技术领域,尤其涉及一种本地弹幕消息的分发方法、装置、终端和存储介质。
背景技术
随着网络交互平台的发展,越来越多的用户通过登录网络交互平台进行交流。其中,网络直播是非常受广大用户欢迎的应用。用户在观看直播的过程中,可以通过发送弹幕来表达自己的情感。其中,弹幕服务包括用户弹幕接收、处理和推送等重要功能。为了保证弹幕功能的体验,需要在前端开发过程中对弹幕消息进行调试,以保证弹幕在后期展示过程中的用户体验。
传统方案对弹幕的调试需要通过C++服务器来下发弹幕消息来测试业务流程,在整个业务流程严格依赖C++服务器下发的弹幕消息才能实现。但是在调试过程中,C++弹幕服务器经常会出现不稳定或者由于网络原因接收不到弹幕消息的情况,这样就会导致整个流程的调试非常不顺畅,严重延长了调试的时间周期。同时由于整个调试流程依赖网络消息的触发,导致调试过程必须等待后台C++服务器开发完成后才能进行处理,这样也会导致延误前端的开发周期等问题。
发明内容
本发明实施例提供一种本地弹幕消息的分发方法、装置、终端和存储介质,在本地对弹幕消息的调试过程中,避免了对C++服务器的依赖,极大地提高了开发效率并且能够使得整个调试流程更加便捷。
第一方面,本发明实施例提供了一种本地弹幕消息的分发方法,该方法包括:
接收本地预先定义的包含有客户端包名信息的目标弹幕消息;
将所述目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象;
将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。
第二方面,本发明实施例还提供了一种弹幕消息的分发装置,该装置包括:
目标弹幕消息接收模块,用于接收本地预先定义的包含有客户端包名信息的目标弹幕消息;
弹幕协议对象构建模块,用于将所述目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象;
弹幕协议对象分发模块,用于将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。
第三方面,本发明实施例还提供了一种终端,该终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的本地弹幕消息的分发方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的本地弹幕消息的分发方法。
本发明实施例提供的技术方案,通过接收本地预先定义的包含有客户端包名信息的目标弹幕消息后,可将目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象。将弹幕协议对象发送到本地客户端与弹幕服务器的交互接口,可使得整个程序认为是接收到了一个从C++服务器发送的弹幕消息,并可触发弹幕消息的业务逻辑,对该弹幕消息进行分发处理。通过采用上述技术方案,在弹幕调试过程中,通过在本地构建符合弹幕协议的弹幕消息,并模拟该消息是从C++服务器接收到的。相对于现有技术提供的利用C++弹幕服务器发送弹幕消息进行弹幕测试的方式,本发明实施例的技术方案避开了对C++服务器的依赖,极大的提高了开发效率并且能够使得整个调试流程更加便捷。
附图说明
图1为本发明实施例一提供的一种本地弹幕消息的分发方法的流程图;
图2为本发明实施例二提供的一种本地弹幕消息的分发方法的流程图;
图3为本发明实施例三提供的一种弹幕消息的分发装置的结构框图;
图4为本发明实施例四提供的一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种本地弹幕消息的分发方法的流程图,该方法可以由本地弹幕消息的分发装置来执行,该装置可以通过软件和/或硬件的方式实现,该装置可以集成在客户端中,典型的是用于对弹幕进行调试。参见图1,本实施例的方法具体包括:
S110、接收本地预先定义的包含有客户端包名信息的目标弹幕消息。
其中,客户端包名信息可预先进行定义,以建立发送端和接收端的联系。示例性的,可通过定义一个变量来标记客户端的包名信息,其具体定义可以为SET ACTION_NAME=“com.action.cpp.msg”。
示例性的,在模拟C++弹幕消息的过程中,本实施例中在接收本地预先定义的包含有客户端包名信息的目标弹幕消息之前,需要定义模拟C++弹幕消息时所需要的弹幕参数信息。其中,弹幕参数信息是通过key-value的形式来进行传递的。
示例性的,本实施例中定义的弹幕参数信息可以为:set PARAM_INFO=-esmsg_type“type_cpp”–es msg_name“xxxName”-es msg_info“this is a test msg info”-eimsg_progress“100”。其中,-e表示参数信息的开始的标识符;msg_type表示的是消息的键值对中的键信息,“type_cpp”表示的是值信息,具体表示的是消息体的类型;msg_name表示的是消息的名字,“xxxName”表示消息具体的名字内容;msg_info表示的是消息内容,“thisis a test msg info”表示的是消息的具体内容信息;msg_progress表示与待发送的消息相关的任务进度信息,其任务进度的具体值为100。
需要说明的是,上述弹幕消息参数并不局限于上述几个参数,在弹幕调试过程中,可根据实际情况进行设置。
本领域技术人员可以理解的是,在上述弹幕参数消息中,e后面跟的字母可用于表示弹幕参数的类型。具体的,e后面如果跟的是s,则表示的是string类型的数据,如果是i,则表示的是int整形的数据,上述消息中-ei msg_progress“100”表示的就是整形数据,其键是msg_progress,对应的值是100。-ez表示的则是传递bool布尔类型的键值对信息。
进一步的,在弹幕消息参数和其对应的参数值定义完成后,可通过调用本地安卓系统的am命令来发送一条本地的弹幕消息。具体的发送方式可以为:
采用am broadcast-a$PARAM_INFO$PARAM_INFO的方式来向Android系统发送一条本地模拟的弹幕消息信息。
S120、将目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象。
本领域技术人员可以理解的是,可将字符串对象作为弹幕协议对象。在接收到目标弹幕消息后,只有将其转换为弹幕协议对象,才可触发弹幕消息的业务逻辑,进行后续弹幕消息的处理。
优选的,在接收到本地预先定义的包含有客户端包名信息的目标弹幕消息后,字符串对象的构建可通过将所有目标弹幕消息进行拼接后封装到预先构建的字符串生成器对象builder中,并可将该字符串生成器对象转换为字符串对象。
可选的,对目标弹幕消息的拼接方式还可以采用传统的将字符串直接进行拼接的方式。相对于本实施例提供的采用构建builder对象封装弹幕消息的方式,字符串直接拼接对内存空间的开销较大,而采用builder对象进行封装能起到节省内存空间的作用。
S130、将弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。
示例性的,弹幕协议对象构建完成后,将弹幕协议对象发送到本地客户端与弹幕服务器的交互接口能够使整个程序认为是接收到了一条从C++服务器发送的弹幕消息,并可触发弹幕消息的业务逻辑,将本地模拟的弹幕消息传输到弹幕分发器中,利用弹幕分发器将该消息进行分发。
本实施例提供的技术方案,通过接收本地预先定义的包含有客户端包名信息的目标弹幕消息后,可将目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象。将弹幕协议对象发送到本地客户端与弹幕服务器的交互接口,可使得整个程序认为是接收到了一个从C++服务器发送的弹幕消息,并可触发弹幕消息的业务逻辑,对该弹幕消息进行分发处理。通过采用上述技术方案,在弹幕调试过程中,通过在本地构建符合弹幕协议的弹幕消息,并模拟该消息是从C++服务器接收到的。相对于现有技术提供的利用C++弹幕服务器发送弹幕消息进行弹幕测试的方式,本实施例的技术方案避开了对C++服务器的依赖,极大的提高了开发效率并且能够使得整个调试流程更加便捷。
实施例二
图2为本发明实施例二提供的一种本地弹幕消息的分发方法的流程图,本实施例在上述实施例的基础上,对接收本地预先定义的包含有客户端包名信息的目标弹幕消息;将目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象进行了优化,其中与上述实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供的方法包括:
S201、调用本地操作系统中的启动命令,所述启动命令用于基于广播形式发送本地预先定义的包含有客户端包名信息的目标弹幕消息。
S202、调用应用程序类的上下文环境获取函数,获取本地操作系统的上下文环境对象。
其中,上下文环境获取函数为getApplicationContext函数,该函数的作用是返回的上下文,生命周期是整个应用,应用摧毁它才摧毁。通过调用getApplicationContext函数可以获取到系统中的Context对象。
S203、以消息接收类和消息过滤对象为参数调用上下文环境对象中的广播接收函数,得到消息过滤对象所指定的包含有本地客户端包名信息的弹幕参数信息。
示例性的,可以通过调用getApplicationContext函数来获取到系统中的Context对象,然后通过该Context对象调用其中的广播接收函数registerBroadcastReceiver(MyCPPReceiver,intentFilter),其中,广播Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件,即本实施例中广播接收函数是用来接收系统发送的广播消息的。通过上述调用关系可以从系统中过滤出消息过滤对象IntentFilter中所指定的消息信息并将该消息传输到消息接收类MyCPPReceiver类中的接收方法onReceiver方法中。
本实施例中,消息接收类MyCPPReceiver可以通过研发人员自行定义,并通过extends关键字继承自系统的广播接收类BroadcastReceiver,具体可以为MyCPPReceiverextends BroadcastReceiver。在MyCPPReceiver类中回调BroadcastReceiver类中的onReceive(Context context,Intent intent)方法,后续onReceive方法可用于接收本地弹幕消息的方法类。
本实施例中,消息过滤对象IntentFilter是通过消息过滤类的构造函数预先构建的包含有包名信息的对象,具体可以为调用IntentFilter intentFilter=newIntentFilter()来构建一个intentFilter对象。通过调用intentFilter对象中的intentFilter.addFilter(ACTION_NAME),可过滤出系统中的该action的消息信息。
需要说明的是,ACTION_NAME为上述实施例中所提到的标记客户端包名信息的action变量,这一变量用于建立发送端和接收端的联系,因此消息过滤类中的ACTION_NAME必须要和上述实施例提到的ACTION_NAME定义的变量一致,这样才能够过滤出系统中的该action的消息信息,即得到消息过滤对象所指定的包含有本地客户端包名信息的弹幕参数信息。
S204、以上下文环境对象和意图对象作为参数,在消息接收类中回调广播接收类中的接收方法。
S205、将弹幕参数信息传输到消息接收类中的接收方法中,对弹幕参数信息对应的本地预先定义的目标弹幕消息进行接收。
示例性的,对参数信息对应的本地预先定义的目标弹幕消息进行接收,可以包括:
在上述接收方法中,调用意图对象intent中的消息收集方法getBundler方法,得到消息收集对象bundler对象;以弹幕参数信息作为参数,调用消息收集对象中的消息获取方法,以获取弹幕参数信息对应的本地预先定义的目标弹幕消息。
其中,本实施例中的弹幕参数信息为上述实施例中预先定义的弹幕参数信息,例如消息类型msg_type、消息名字msg_name、消息内容msg_info和与消息进度msg_progress。
具体的,在onReceiver方法中通过调用intent参数中的getBundler方法可获取到一个bundler对象,该bundler对象一般用于存储和管理键值对,通过调用bundler中的getString(msg_type)、getString(msg_name)、getString(msg_info)、getInt(msg_progress)的方式来分别获取到其消息信息值,其中的msg_type、msg_name、msg_info、msg_progress需要和上述命令中的键信息完全一致才能正常解析出其信息内容来,即获取目标弹幕消息。
S206、将目标弹幕消息全部存储到本地预先构建的数据存储对象中。
其中,数据存储对象可以为预先定义的JavaBean对象,在该对象中需定义弹幕参数信息对应的字段信息,例如定义msg_type、msg_name和msg_info、msg_progress这样几个字段信息,然后对这些字段信息分别定义相应的信息获取方法get方法和信息存入方法Set方法,通过调用各个字段的set方法来可将目标弹幕信息全部存储到MyBean对象中。这样设置的好处在于方便后续对目标弹幕消息进行统一的传输。
S207、以弹幕参数信息作为参数,调用数据存储对象中的信息获取方法,得到弹幕参数信息对应的目标弹幕消息。
示例性的,可以依次通过调用Bean对象中的getString(msg_type)、getString(msg_name)、getString(msg_info)、getInt(msg_progress)方法来取得相应的内容信息,并可对获取到的内容信息进行标记,例如可以将取得的内容信息标记为m_msg_type、m_msg_name、m_msg_info和m_msg_progress。
S208、依次调用预先建立的字符串生成器对象中的各拼接函数,将全部目标弹幕消息封装到字符串生成器对象中,并在不同弹幕消息之间插入设定标记的分隔符。
其中,字符串生成器对象StringBuilder的构建方法可以为,通过调用StringBuilder builder=new StringBuilder()方法来构建一个builder对象。
具体的,本实施例中,可以弹幕参数信息为参数依次通过调用builder对象中的各拼接函数builder.append,具体可以为依次调用builder.append(m_msg_type)、builder.append(“@”)、builder.append(m_msg_name)、builder.append(“@”)、builder.append(m_msg_info)、builder.append(“@”)、builder.append(m_msg_progress)将所有内容信息封装到builder对象中。其中,builder.append(“@”)是在各个对象中插入了一个@标记的分隔符,使得封装的消息符合预设的弹幕协议。
S209、通过调用字符串转换方法将完成拼接的字符串生成器对象转换为字符串对象作为弹幕协议对象。
示例性的,可以通过调用builder.toString()方法来将builder对象转换成一个String对象,该String对象可作为弹幕协议对象,并可将其标记为danmuStr。
S210、将弹幕协议对象发送到本地客户端与弹幕服务器的交互接口,调用弹幕分发方法获取弹幕分发器模块的分发对象。
其中,将弹幕协议对象发送到本地客户端与弹幕服务器的交互接口的目的是让整个程序认为是接收到了一条从C++服务器发送的弹幕消息,然后再对该弹幕消息进行分发。
具体的,可以通过调用弹幕分发方法GetDanmuDispatcher方法来获取到弹幕分发器模块的分发对象,然后可以弹幕对象为参数通过调用其中的sendDanmuMsg(danmuStr)将该条本地的弹幕消息添加到弹幕分发器中来实现分发流程。
S211、以弹幕协议对象作为参数,调用分发对象中的弹幕发送函数,以将弹幕协议对象添加到弹幕分发器模块中进行分发处理。
本实施例在上述实施例的基础上,可将接收到的目标弹幕消息存储到本地预先构建的数据存储对象中,以便于对消息统一进行传输。目标弹幕消息在onReceiver方法中被接收到之后,在转换为弹幕对象之前,可将各消息全部封装到builder对象中,以节省存储空间,然后可将builder对象转换为弹幕协议对象发送到本地客户端中的C++接口处,以模拟该弹幕消息是从C++服务器发送过来的弹幕消息,并通过调用GetDanmuDispatcher方法获取弹幕分发器模块对该目标弹幕消息进行分发。
实施例三
图3为本发明实施例三提供的一种弹幕消息的分发装置的结构框图,该装置可以通过软件和/或硬件的方式来实现,如图3所示,该装置包括:目标弹幕消息接收模块310、弹幕协议对象构建模块320和弹幕协议对象分发模块330。
其中,目标弹幕消息接收模块310,用于接收本地预先定义的包含有客户端包名信息的目标弹幕消息;
弹幕协议对象构建模块320,用于将所述目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象;
弹幕协议对象分发模块330,用于将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。
本实施例提供的技术方案,通过接收本地预先定义的包含有客户端包名信息的目标弹幕消息后,可将目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象。将弹幕协议对象发送到本地客户端与弹幕服务器的交互接口,可使得整个程序认为是接收到了一个从C++服务器发送的弹幕消息,并可触发弹幕消息的业务逻辑,对该弹幕消息进行分发处理。通过采用上述技术方案,在弹幕调试过程中,通过在本地构建符合弹幕协议的弹幕消息,并模拟该消息是从C++服务器接收到的。相对于现有技术提供的利用C++弹幕服务器发送弹幕消息进行弹幕测试的方式,本实施例的技术方案避开了对C++服务器的依赖,极大的提高了开发效率并且能够使得整个调试流程更加便捷。
在上述实施例的基础上,该装置还包括:
启动命令调用模块,用于在接收本地预先定义的包含有客户端包名信息的目标弹幕消息之前,调用本地操作系统中的启动命令,所述启动命令用于基于广播形式发送本地预先定义的包含有客户端包名信息的目标弹幕消息。
在上述实施例的基础上,目标弹幕消息接收模块310包括:
上下文环境对象获取单元,用于调用应用程序类的上下文环境获取函数,获取本地操作系统的上下文环境对象;
弹幕参数信息过滤单元,用于以消息接收类和消息过滤对象为参数调用所述上下文环境对象中的广播接收函数,得到所述消息过滤对象所指定的包含有本地客户端包名信息的弹幕参数信息;
接收方法回调单元,用于以上下文环境对象和意图对象作为参数,在消息接收类中回调所述广播接收类中的接收方法;
目标弹幕消息接收单元,用于将所述弹幕参数信息传输到所述消息接收类中的接收方法中,对所述参数信息对应的本地预先定义的目标弹幕消息进行接收;
其中,所述消息接收类通过extends关键字继承自本地操作系统中的广播接收类;所述消息过滤对象是通过消息过滤类的构造函数预先构建的包含有所述包名信息的对象。
在上述实施例的基础上,所述目标弹幕消息接收单元具体用于:
将所述弹幕参数信息传输到所述消息接收类中的接收方法中,在所述接收方法中调用所述意图对象中的消息收集方法,得到消息收集对象;
以所述弹幕参数信息作为参数,调用所述消息收集对象中的消息获取方法,以获取所述弹幕参数信息对应的本地预先定义的目标弹幕消息。
在上述实施例的基础上,该装置还包括:
数据存储模块,用于将所述目标弹幕消息全部存储到本地预先构建的数据存储对象中。
在上述实施例的基础上,弹幕协议对象构建模块320具体用于:
以所述弹幕参数信息作为参数,调用所述数据存储对象中的信息获取方法,得到所述弹幕参数信息对应的目标弹幕消息;
依次调用预先建立的字符串生成器对象中的各拼接函数,将全部目标弹幕消息封装到所述字符串生成器对象中,并在不同弹幕消息之间插入设定标记的分隔符;
通过调用字符串转换方法将完成拼接的字符串生成器对象转换为字符串对象作为弹幕协议对象。
在上述实施例的基础上,弹幕协议对象分发模块330具体用于:
将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口,调用弹幕分发方法获取弹幕分发器模块的分发对象;
以所述弹幕协议对象作为参数,调用所述分发对象中的弹幕发送函数,以将所述弹幕协议对象添加到所述弹幕分发器模块中进行分发处理。
本实施例提供的本地弹幕消息的分发装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的本地弹幕消息的分发方法
实施例四
图4为本发明实施例四提供的一种终端的结构示意图。图4示出了适于用来实现本发明实施方式的示例性终端12的框图。图4显示的终端12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,终端12以通用计算设备的形式表现。终端12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
终端12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。终端12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
终端12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该终端12交互的设备通信,和/或与使得该终端12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,终端12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与终端12的其它模块通信。应当明白,尽管图中未示出,可以结合终端12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的本地弹幕消息的分发方法,该方法包括:
接收本地预先定义的包含有客户端包名信息的目标弹幕消息;
将所述目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象;
将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的本地弹幕消息的分发方法,该方法包括:
接收本地预先定义的包含有客户端包名信息的目标弹幕消息;
将所述目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象;
将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种本地弹幕消息的分发方法,其特征在于,包括:
接收本地预先定义的包含有客户端包名信息的目标弹幕消息;
将所述目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象;
将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。
2.根据权利要求1所述的方法,其特征在于,在接收本地预先定义的包含有客户端包名信息的目标弹幕消息之前,所述方法还包括:
调用本地操作系统中的启动命令,所述启动命令用于基于广播形式发送本地预先定义的包含有客户端包名信息的目标弹幕消息。
3.根据权利要求1所述的方法,其特征在于,接收本地预先定义的包含有客户端包名信息的目标弹幕消息,包括:
调用应用程序类的上下文环境获取函数,获取本地操作系统的上下文环境对象;
以消息接收类和消息过滤对象为参数调用所述上下文环境对象中的广播接收函数,得到所述消息过滤对象所指定的包含有本地客户端包名信息的弹幕参数信息;
以所述上下文环境对象和意图对象作为参数,在消息接收类中回调所述广播接收类中的接收方法;
将所述弹幕参数信息传输到所述消息接收类中的接收方法中,对所述弹幕参数信息对应的本地预先定义的目标弹幕消息进行接收;
其中,所述消息接收类通过extends关键字继承自本地操作系统中的广播接收类;所述消息过滤对象是通过消息过滤类的构造函数预先构建的包含有所述包名信息的对象。
4.根据权利要求3所述的方法,其特征在于,对所述弹幕参数信息对应的本地预先定义的目标弹幕消息进行接收,包括:
在所述接收方法中调用所述意图对象中的消息收集方法,得到消息收集对象;
以所述弹幕参数信息作为参数,调用所述消息收集对象中的消息获取方法,以获取所述弹幕参数信息对应的本地预先定义的目标弹幕消息。
5.根据权利要求3所述的方法,其特征在于,在接收本地预先定义的包含有客户端包名信息的目标弹幕消息之后,所述方法还包括:
将所述目标弹幕消息全部存储到本地预先构建的数据存储对象中。
6.根据权利要求5所述的方法,其特征在于,将所述目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象,包括:
以所述弹幕参数信息作为参数,调用所述数据存储对象中的信息获取方法,得到所述弹幕参数信息对应的目标弹幕消息;
依次调用预先建立的字符串生成器对象中的各拼接函数,将全部目标弹幕消息封装到所述字符串生成器对象中,并在不同弹幕消息之间插入设定标记的分隔符;
通过调用字符串转换方法将完成拼接的字符串生成器对象转换为字符串对象作为弹幕协议对象。
7.根据权利要求1所述的方法,其特征在于,将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发,包括:
将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口,调用弹幕分发方法获取弹幕分发器模块的分发对象;
以所述弹幕协议对象作为参数,调用所述分发对象中的弹幕发送函数,以将所述弹幕协议对象添加到所述弹幕分发器模块中进行分发处理。
8.一种本地弹幕消息的分发装置,其特征在于,包括:
目标弹幕消息接收模块,用于接收本地预先定义的包含有客户端包名信息的目标弹幕消息;
弹幕协议对象构建模块,用于将所述目标弹幕消息进行拼接,并根据拼接完成的目标弹幕消息构建字符串对象作为弹幕协议对象;
弹幕协议对象分发模块,用于将所述弹幕协议对象发送到本地客户端与弹幕服务器的交互接口进行分发。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的本地弹幕消息的分发方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的本地弹幕消息的分发方法。
CN201810642968.2A 2018-06-21 2018-06-21 一种本地弹幕消息的分发方法、装置、终端和存储介质 Active CN108848398B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810642968.2A CN108848398B (zh) 2018-06-21 2018-06-21 一种本地弹幕消息的分发方法、装置、终端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810642968.2A CN108848398B (zh) 2018-06-21 2018-06-21 一种本地弹幕消息的分发方法、装置、终端和存储介质

Publications (2)

Publication Number Publication Date
CN108848398A true CN108848398A (zh) 2018-11-20
CN108848398B CN108848398B (zh) 2021-01-01

Family

ID=64203253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810642968.2A Active CN108848398B (zh) 2018-06-21 2018-06-21 一种本地弹幕消息的分发方法、装置、终端和存储介质

Country Status (1)

Country Link
CN (1) CN108848398B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586437A (zh) * 2020-04-08 2020-08-25 天津车之家数据信息技术有限公司 一种弹幕消息处理方法、系统、计算设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068795A (zh) * 2015-07-20 2015-11-18 上海幻电信息科技有限公司 基于弹幕特效的开发方法与装置
CN105451087A (zh) * 2015-12-14 2016-03-30 广州弹幕网络科技有限公司 弹幕信息的推送方法、终端、历史数据服务器及系统
CN107092643A (zh) * 2017-03-06 2017-08-25 武汉斗鱼网络科技有限公司 一种弹幕渲染方法及装置
US20170264585A1 (en) * 2016-02-26 2017-09-14 Shanghai Hode Information Technology Co.,Ltd. Method and apparatus for displaying comment information
CN107690078A (zh) * 2017-09-28 2018-02-13 腾讯科技(深圳)有限公司 弹幕信息显示方法、提供方法以及设备
CN107707986A (zh) * 2017-10-09 2018-02-16 武汉斗鱼网络科技有限公司 一种在直播软件的开发中模拟弹幕消息的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068795A (zh) * 2015-07-20 2015-11-18 上海幻电信息科技有限公司 基于弹幕特效的开发方法与装置
CN105451087A (zh) * 2015-12-14 2016-03-30 广州弹幕网络科技有限公司 弹幕信息的推送方法、终端、历史数据服务器及系统
US20170264585A1 (en) * 2016-02-26 2017-09-14 Shanghai Hode Information Technology Co.,Ltd. Method and apparatus for displaying comment information
CN107092643A (zh) * 2017-03-06 2017-08-25 武汉斗鱼网络科技有限公司 一种弹幕渲染方法及装置
CN107690078A (zh) * 2017-09-28 2018-02-13 腾讯科技(深圳)有限公司 弹幕信息显示方法、提供方法以及设备
CN107707986A (zh) * 2017-10-09 2018-02-16 武汉斗鱼网络科技有限公司 一种在直播软件的开发中模拟弹幕消息的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586437A (zh) * 2020-04-08 2020-08-25 天津车之家数据信息技术有限公司 一种弹幕消息处理方法、系统、计算设备及存储介质

Also Published As

Publication number Publication date
CN108848398B (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN108897691A (zh) 基于接口模拟服务的数据处理方法、装置、服务器和介质
WO2020233369A1 (zh) 基于模拟端口改进软件集成系统的方法及相关设备
US10635436B2 (en) Compatibility method based on hybrid, adapter, operation device, system and computer-readable storage medium
CN107592238A (zh) 接口的自动测试方法及系统、服务终端、存储器
CN107122398B (zh) 一种数据展示图表生成方法及系统
CN107404418B (zh) 互联网产品测试方法、装置、设备及存储介质
CN110297616B (zh) 话术的生成方法、装置、设备以及存储介质
CN107509051A (zh) 远程控制方法、装置、终端及计算机可读存储介质
CN105426103A (zh) 一种移动设备上消息编辑方法和装置
WO2019205555A1 (zh) 消息推送方法及装置
CN105338550A (zh) 一种用于无线网络的连接的管理方法和装置
CN103324605A (zh) 一种多用户协同编辑的方法、设备及系统
CN105190530A (zh) 传输硬件渲染的图形数据
CN108322437A (zh) 用于多规约设备之间的自适应通讯方法和装置
CN109684114A (zh) 基于iOS系统的消息分发方法、装置、终端和介质
CN109725617A (zh) 一种工业组态平台的构建方法、构建系统及相关装置
CN114244821B (zh) 数据处理方法、装置、设备、电子设备和存储介质
CN108874441A (zh) 一种板卡配置方法、装置、服务器和存储介质
CN107888989A (zh) 一种基于互联网直播的交互系统及方法
CN109889922A (zh) 流媒体数据的转发方法、装置、设备和存储介质
CN109710244A (zh) 自定义动画配置方法及装置、设备及存储介质
CN108848398A (zh) 一种本地弹幕消息的分发方法、装置、终端和存储介质
CN107948692A (zh) 一种级联机顶盒的控制方法、系统、机顶盒及存储介质
CN110493646A (zh) 通过外部设备进行电视升级的方法、装置、电视及系统
CN110048865A (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