CN109408255A - 一种直播间开播提醒方法、装置、终端及存储介质 - Google Patents
一种直播间开播提醒方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN109408255A CN109408255A CN201811162060.8A CN201811162060A CN109408255A CN 109408255 A CN109408255 A CN 109408255A CN 201811162060 A CN201811162060 A CN 201811162060A CN 109408255 A CN109408255 A CN 109408255A
- Authority
- CN
- China
- Prior art keywords
- live streaming
- streaming platform
- starting
- function
- platform client
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Abstract
本发明实施例公开了一种直播间开播提醒方法、装置、终端及存储介质,其中,直播间开播提醒方法包括:创建直播平台客户端的开机启动功能;当直播平台客户端开机启动后,利用socket建立直播平台客户端与直播平台服务器之间的通信连接;在建立通信连接后,利用socket独立线程接收由直播平台服务器发送至直播平台客户端的数据,若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能。本发明实施例能够及时提醒计算机用户观看目标直播间的内容。
Description
技术领域
本发明实施例涉及互联网直播技术领域,尤其涉及一种直播间开播提醒方法、装置、终端及存储介质。
背景技术
随着计算机技术和网络技术的发展,观看视频直播的用户越来越多,网络直播得到了广泛的普及,用户可以登录网络直播的应用程序,进入感兴趣的直播间,观看主播的直播节目。
随着直播的受欢迎程度越来越强,用户对于准时收看直播节目的需求越来越强烈。对于现有的移动终端而言,无论客户端开启与否,移动终端的操作系统支持利用系统自带消息向用户推送直播间开播提醒消息,以提醒用户观看相应的直播间。而现有的计算机系统则无法利用操作系统直接推送直播间开播提醒消息。
发明内容
有鉴于此,本发明实施例提供了一种直播间开播提醒方法、装置、终端及存储介质,使计算机用户能够及时观看目标直播间的内容。
第一方面,本发明实施例提供了一种直播间开播提醒方法,所述方法包括:
创建直播平台客户端的开机启动功能;
当所述直播平台客户端开机启动后,利用socket建立所述直播平台客户端与直播平台服务器之间的通信连接;
在建立所述通信连接后,利用socket独立线程接收由所述直播平台服务器发送至所述直播平台客户端的数据,若确定所述数据为目标直播间的开播消息,则启动所述直播平台客户端的直播间开播提醒功能。
第二方面,本发明实施例提供了一种直播间开播提醒装置,所述装置包括:
开机启动功能创建模块,用于创建直播平台客户端的开机启动功能;
通信连接建立模块,用于当所述直播平台客户端开机启动后,利用socket建立所述直播平台客户端与直播平台服务器之间的通信连接;
直播间开播提醒模块,用于在建立所述通信连接后,利用socket独立线程接收由所述直播平台服务器发送至所述直播平台客户端的数据,若确定所述数据为目标直播间的开播消息,则启动所述直播平台客户端的直播间开播提醒功能。
第三方面,本发明实施例提供了一种直播间开播提醒终端,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的直播间开播提醒方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的直播间开播提醒方法。
本发明实施例提供的一种直播间开播提醒方法、装置、终端和存储介质,通过创建直播平台客户端的开机启动功能;当直播平台客户端开机启动后,利用socket建立直播平台客户端与直播平台服务器之间的通信连接;在建立通信连接后,利用socket独立线程接收由直播平台服务器发送至直播平台客户端的数据,若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能,能够及时提醒计算机用户观看目标直播间的内容。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种直播间开播提醒方法的流程图;
图2是本发明实施例二提供的一种直播间开播提醒装置的结构示意图;
图3是本发明实施例三提供的一种直播间开播提醒终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明实施例一提供的一种直播间开播提醒方法流程图,本实施例可适用于计算机用户需要及时观看所关注直播间的内容的情况,该方法可以由直播间开播提醒装置实现,具体可通过直播间开播提醒装置中的软件和/或硬件来实施。参见图1,该直播间开播提醒方法包括如下步骤:
S110、创建直播平台客户端的开机启动功能。
用户在启动操作系统后,如果不自行开启相应的直播平台客户端,其便无法接收到相应直播平台客户端发送的信息。基于此,本实施例优选可以在操作系统中创建目标直播平台客户端的开机启动功能,以便目标直播平台客户端能够随操作系统的启动而启动,此时,即使用户没有及时打开目标直播平台客户端,其也能够及时接收目标直播平台客户端的推送消息。
示例性的,对于Windows操作系统而言,其可以基于Windows操作系统中的注册表,创建直播平台客户端的开机启动功能。
S120、当直播平台客户端开机启动后,利用socket建立直播平台客户端与直播平台服务器之间的通信连接。
本实施例中,在直播平台客户端启动后,直播平台客户端需要与直播平台服务器建立连接,才能够接收直播平台服务器推送的消息。优选的,可以利用socket建立直播平台客户端与直播平台服务器之间的通信连接。其中,socket(也称为套接字)用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过socket向网络发出请求或者应答网络请求。
S130、在建立通信连接后,利用socket独立线程接收由直播平台服务器发送至直播平台客户端的数据,若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能。
其中,直播平台服务器可以为直播平台的后台服务器,目标直播间可以是用户所关注或者收藏的直播间。
在直播平台客户端与直播平台服务器建立通信连接后,优选可以创建一个socket独立线程,利用该socket独立线程接收由直播平台服务器发送给直播平台客户端的数据。当直播平台客户端通过socket独立线程接收到直播平台服务器发送的数据后,优选可以判断该数据是否是目标直播间的开播消息,如果确定该数据是目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能,以提醒用户及时观看直播内容。
本实施例提供的一种直播间开播提醒方法,通过创建直播平台客户端的开机启动功能;当直播平台客户端开机启动后,利用socket建立直播平台客户端与直播平台服务器之间的通信连接;在建立通信连接后,利用socket独立线程接收由直播平台服务器发送至直播平台客户端的数据,若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能,能够及时提醒计算机用户观看目标直播间的内容。
在上述各实施例的基础上,进一步的,创建直播平台客户端的开机启动功能,包括:
利用GetModuleFileName函数获取直播平台客户端的存储路径;
利用RegOpenKeyEx函数打开注册表中开机启动项的键;
利用RegSetValueEx函数,将存储路径作为键值写入开机启动项的键中,以完成创建直播平台客户端的开机启动功能;
关闭注册表中开机启动项的键。
示例性的,对于Windows操作系统来说,可以通过调用该操作系统提供的API(应用程序编程接口,Application Programming Interface)函数RegOpenKeyEx函数来创建直播平台客户端的开机启动功能。
具体的,可以利用操作系统提供的API函数GetModuleFileName函数获取直播平台客户端在系统中的存储路径。GetModuleFileName函数的原型如下:
DWORD WINAPI GetModuleFileName(
HMODULE hModule,//应用程序或DLL实例句柄,NULL则为获取当前程序可执行文件路径名
LPTSTR lpFilename,//接收路径的字符串缓冲区
DWORD nSize//接收路径的字符缓冲区的大小);
该函数的调用方式如下:
GetModuleFileNameW(NULL,(LPWCH)pFileName,MAX_PATH)
其中,传入参数hModule为NULL,表示获取直播平台客户端的存储路径名称;得到的直播平台客户端的存储路径名称为pFileName。
再利用GetModuleFileName函数获取直播平台客户端的存储路径之后,可以调用系统API函数RegOpenKeyEx函数进行注册,以打开注册表中开机启动项的键。该函数具体如下:
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run"),0,KEY_WRITE,&hKey)
打开了注册表的开机启动的健后,可以调用系统API函数RegSetValueEx函数,将存储路径作为键值写入开机启动项的键中,以完成创建直播平台客户端的开机启动功能。该函数具体如下:
RegSetValueEx(hKey,_T("PCRUN"),0,REG_SZ,(constBYTE*)(LPCSTR)pFileName,MAX_PATH),其中,_T("PCRUN")为健值的名称。
写入完成后,利用RegCloseKey(hKey)关闭注册表。
进一步的,利用socket建立直播平台客户端与直播平台服务器之间的通信连接,包括:
初始化socket;
设置直播平台服务器的地址族和端口号;
将初始化的socket、地址族和端口号作为connect函数的参数并执行connect函数,以建立直播平台客户端与直播平台服务器之间的通信连接。
示例性的,利用socket建立直播平台客户端与直播平台服务器之间的通信连接,可以通过创建socket的相关数据来与直播平台服务器建立连接。具体的,可以利用intsockfd=socket(AF_INET,SOCK_STREAM,0)对socket进行初始化,之后可以分别利用servaddr.sin_family=ip和servaddr.sin_port=htons(port)设置直播平台服务器的地址族和端口号(主机字节序到网络字节序)。在创建完socket的相关数据之后,优选可以调用系统函数connect函数,并将初始化的socket、地址族和端口号作为该connect函数的参数,并执行int nRet=connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)),以实现直播平台客户端与直播平台服务器之间的通信连接。
进一步的,在建立通信连接后,利用socket独立线程接收由直播平台服务器发送至直播平台客户端的数据,若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能,包括:
创建一个线程对象以及与线程对象相对应的线程执行函数,并将线程对象与线程执行函数进行绑定操作,以创建socket独立线程;
调用Start方法执行socket独立线程,以获取并保存由直播平台服务器发送至直播平台客户端的数据;
利用直播平台客户端解析数据,根据解析后的数据确定数据是否为目标直播间的开播消息;
若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能。
示例性的,创建socket独立线程的过程可以是:创建一个线程对象Threadthread_;同时编写一个与线程对象相对应的线程执行函数void_RunThread();并基于Boost基础库将线程对象与线程执行函数进行绑定操作,完成socket独立线程的创建。其中,具体绑定操作为:Thread(boost::bind(&RunThread,this))。创建完成后的socket独立线程即可执行线程执行函数RunThread的基本逻辑。之后可以调用Start方法执行socket独立线程,以获取并保存直播平台服务器发送至直播平台客户端的数据,其具体执行操作为:thread_.start()。
在线程执行函数RunThread中编写while循环不断的监控socket的状态,不断的从sokcet中接收直播平台服务器发送过来的网络数据。示例性的,while循环可以是如下形式:
while(true){
读取sokcet收到的直播平台服务器发送过来的数据;if(select.Read_FD_ISSET(socket)){判断socket是否可以读取直播平台服务器的网络数据,通过select对象来判断socket是否在读取集合Read_FD_ISSET中,进而确定当前socket是否可以读取直播平台服务器发送的数据;event.OnRead();通过调用event对象的OnRead来告知直播平台客户端当前socket有数据可以读取,从而可以读取直播平台服务器的网络数据;ssize_t ret=recv(socket,(char*)buf,len,0);其中,buf用于存储读取到的数据,len为读取的长度。此函数调用完成则会将网络数据存储到buf中。}
直播平台客户端通过socket独立线程接收到直播平台服务器发送的数据后,可以对数据进行解析,根据解析后的数据即可确定数据是否为目标直播间的开播消息;若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能。
具体的,直播平台客户端通过socket独立线程中的系统函数recv可以接收直播平台服务器的数据,之后,直播平台客户端可以对数据进行解析,具体的:可以创建一个消息解析类DataDecoder的实例对象DataDecoder*pDecoder=new DataDecoder();之后,利用pDecoder->Parse(buf)对接收到的数据进行解析,其中,buf表示收到的一条数据。数据解析完成后,即可获取该数据的数据类型。
以数据为目标直播间的开播消息为例,对数据解析过程进行具体说明:
std::string cmdtype=std::string(pDecoder->GetItem("type"));其中,获取消息字段的type值表示数据的类型。
If(cmdtype==“notify”){表示是一条通知数据,接下来则需要解析其他字段。
nroomId=pDecoder->GetItemAsInt(“roomid”);获取房间号。
nroomname=pDecoder->GetItemAsInt(“roomname”);获取房间名称。
time=pDecoder->GetItemAsInt(“time”);获取开播的时间。}
通过上述解析过程可知直播平台服务器发送的是一条目标直播间的开播消息,此时,可以启动直播平台客户端的直播间开播提醒功能。
进一步的,在当直播平台客户端开机启动后,利用socket建立直播平台客户端与直播平台服务器之间的通信连接之后,还包括:
创建直播平台客户端与直播平台服务器之间的协议格式,协议格式为由直播平台服务器发送至直播平台客户端的数据包括包头和包体两部分;
其中,包头的长度为预设字节长度,用于记录包体中协议内容的长度,包体为字符串形式,用于记录协议内容。
示例性的,在直播平台客户端与直播平台服务器进行通信时,需要建立协议格式,并确定协议内容,以使直播平台服务器通过协议格式发送特定的协议内容,使直播平台客户端能够从协议中接收直播平台服务器发送的数据,并按照协议格式解析协议内容。由于直播平台客户端与直播平台服务器之间的通信连接为TCP流式传输,存在分包和黏包的情况,因此,优选可以创建协议格式为由直播平台服务器发送至直播平台客户端的数据包括包头和包体两部分,其中,包头的长度为预设字节长度,用于记录包体中协议内容的长度,包体为字符串形式,用于记录协议内容。优选的,包头的预设字节长度可以为4个字节长度,其还可以包括2个字节长度标识,用于占位符,也可以用于后续的扩展。
示例性的,直播间的开播消息可以设置为:消息类型是type@=notify;房间号信息roomid@=356,表示房间号是356;房间名称roomname@=户外第一,表示房间昵称。开播的时间time@=1523654894,表示时间戳信息。
进一步的,在创建直播平台客户端与直播平台服务器之间的协议格式之后,还包括:
对协议内容进行编码,得到与协议内容相对应的字符串,并将字符串写入包体中;
基于字符串,将字符串的长度写入包头中;
将包头和包体作为由直播平台服务器发送至直播平台客户端的数据,利用通信连接,由直播平台服务器发送至直播平台客户端。
示例性的,当检测到有直播间即将开播时,直播平台服务器获取该直播间对应的房间号,直播平台服务器利用该房间号遍历所有的用户,并将直播间的开播消息发送给关注或收藏该直播间的用户。在发送前,直播平台服务器根据协议格式编码协议内容,然后通过通信连接发送直播间的开播消息。具体过程如下:
创建编码对象DataEncoder encodemsg;
加入消息类型:
encodemsg.AddItem(“type”,“notify”);表示加入协议类型是notify。
encodemsg.AddItem(“roomid”,356);表示加入房间号是356。
encodemsg.AddItem(“roomname”,“户外第一”);表示加入房间昵称。
encodemsg.AddItem(“time”,1523654894);表示加入时间戳信息是1523654894。
然后通过其接口获取编码后的字符串。
Char*pData=encodemsg->GetResualt();
具体协议内容存储于pData字符串中。
直播平台服务器可以将此字符串发送至直播平台客户端,并且下发数据时加入包头信息。
实施例二
图2是本发明实施例二提供的一种直播间开播提醒装置结构示意图。参见图2,本实施例中的直播间开播提醒装置,包括:
开机启动功能创建模块210,用于创建直播平台客户端的开机启动功能;
通信连接建立模块220,用于当直播平台客户端开机启动后,利用socket建立直播平台客户端与直播平台服务器之间的通信连接;
直播间开播提醒模块230,用于在建立通信连接后,利用socket独立线程接收由直播平台服务器发送至直播平台客户端的数据,若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能。
本实施例提供的一种直播间开播提醒装置,利用开机启动功能创建模块创建直播平台客户端的开机启动功能,当直播平台客户端开机启动后,通过通信连接建立模块利用socket建立直播平台客户端与直播平台服务器之间的通信连接;在建立通信连接后,通过直播间开播提醒模块利用socket独立线程接收由直播平台服务器发送至直播平台客户端的数据,若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能,能够及时提醒计算机用户观看目标直播间的内容。
在上述各实施例的基础上,进一步的,开机启动功能创建模块210可以包括:
存储路径获取单元,用于利用GetModuleFileName函数获取直播平台客户端的存储路径;
开机启动项的键打开单元,用于利用RegOpenKeyEx函数打开注册表中开机启动项的键;
开机启动功能创建单元,用于利用RegSetValueEx函数,将存储路径作为键值写入开机启动项的键中,以完成创建客直播平台户端的开机启动功能;
开机启动项的键关闭单元,用于关闭注册表中开机启动项的键。
进一步的,通信连接建立模块220具体可以用于:
初始化socket;
设置直播平台服务器的地址族和端口号;
将初始化的socket、地址族和端口号作为connect函数的参数并执行connect函数,以建立直播平台客户端与直播平台服务器之间的通信连接。
进一步的,直播间开播提醒模块230可以包括:
socket独立线程创建模块,用于创建一个线程对象以及与线程对象相对应的线程执行函数,并将线程对象与线程执行函数进行绑定操作,以创建socket独立线程;
socket独立线程执行模块,用于调用Start方法执行socket独立线程,以获取并保存由直播平台服务器发送至直播平台客户端的数据;
开播消息确定模块,用于利用直播平台客户端解析数据,根据解析后的数据确定数据是否为目标直播间的开播消息;
若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能。
进一步的,该装置还可以包括协议格式创建模块,协议格式创建模块用于在当直播平台客户端开机启动后,利用socket建立直播平台客户端与直播平台服务器之间的通信连接之后,
创建直播平台客户端与直播平台服务器之间的协议格式,协议格式为由直播平台服务器发送至直播平台客户端的数据包括包头和包体两部分;
其中,包头的长度为预设字节长度,用于记录包体中协议内容的长度,包体为字符串形式,用于记录协议内容。
进一步的,该装置还可以包括数据发送模块,数据发送模块可以用于在创建直播平台客户端与直播平台服务器之间的协议格式之后,
对协议内容进行编码,得到与协议内容相对应的字符串,并将字符串写入包体中;
基于字符串,将字符串的长度写入包头中;
将包头和包体作为由直播平台服务器发送至直播平台客户端的数据,利用通信连接,由直播平台服务器发送至客户端。
本发明实施例所提供的直播间开播提醒装置可执行本发明任意实施例所提供的直播间开播提醒方法,具备执行方法相应的功能模块和有益效果。
实施例三
图3为本发明实施例三提供的直播间开播提醒终端的结构示意图。图3示出了适于用来实现本发明实施方式的示例性直播间开播提醒终端312的框图。图3显示的直播间开播提醒终端312仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,直播间开播提醒终端312以通用计算设备的形式表现。直播间开播提醒终端312的组件可以包括但不限于:一个或者多个处理器316,存储器328,连接不同系统组件(包括存储器328和处理器316)的总线318。
总线318表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
直播间开播提醒终端312典型地包括多种计算机系统可读介质。这些介质可以是任何能够被直播间开播提醒终端312访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器328可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)330和/或高速缓存存储器332。直播间开播提醒终端312可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储装置334可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线318相连。存储器328可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块342的程序/实用工具340,可以存储在例如存储器328中,这样的程序模块342包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块342通常执行本发明所描述的实施例中的功能和/或方法。
直播间开播提醒终端312也可以与一个或多个外部设备314(例如键盘、指向设备、显示器324等,其中,显示器324可根据实际需要决定是否配置)通信,还可与一个或者多个使得用户能与该直播间开播提醒终端312交互的设备通信,和/或与使得该直播间开播提醒终端312能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口322进行。并且,直播间开播提醒终端312还可以通过网络适配器320与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器320通过总线318与直播间开播提醒终端312的其它模块通信。应当明白,尽管图3中未示出,可以结合直播间开播提醒终端312使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储装置等。
处理器316通过运行存储在存储器328中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的直播间开播提醒方法。
实施例四
本发明实施例四提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的直播间开播提醒方法,包括:
创建直播平台客户端的开机启动功能;
当直播平台客户端开机启动后,利用socket建立直播平台客户端与直播平台服务器之间的通信连接;
在建立通信连接后,利用socket独立线程接收由直播平台服务器发送至直播平台客户端的数据,若确定数据为目标直播间的开播消息,则启动直播平台客户端的直播间开播提醒功能。
当然,本发明实施例所提供的计算机可读存储介质,其上存储的计算机程序不限于执行如上所述的方法操作,还可以执行本发明任意实施例所提供的基于直播间开播提醒终端的直播开间播提醒方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种直播间开播提醒方法,其特征在于,包括:
创建直播平台客户端的开机启动功能;
当所述直播平台客户端开机启动后,利用socket建立所述直播平台客户端与直播平台服务器之间的通信连接;
在建立所述通信连接后,利用socket独立线程接收由所述直播平台服务器发送至所述直播平台客户端的数据,若确定所述数据为目标直播间的开播消息,则启动所述直播平台客户端的直播间开播提醒功能。
2.根据权利要求1所述的方法,其特征在于,所述创建直播平台客户端的开机启动功能,包括:
利用GetModuleFileName函数获取所述直播平台客户端的存储路径;
利用RegOpenKeyEx函数打开注册表中开机启动项的键;
利用RegSetValueEx函数,将所述存储路径作为键值写入所述开机启动项的键中,以完成创建所述直播平台客户端的开机启动功能;
关闭所述注册表中开机启动项的键。
3.根据权利要求1所述的方法,其特征在于,利用socket建立所述直播平台客户端与直播平台服务器之间的通信连接,包括:
初始化socket;
设置所述直播平台服务器的地址族和端口号;
将初始化的socket、所述地址族和所述端口号作为connect函数的参数并执行所述connect函数,以建立所述直播平台客户端与所述直播平台服务器之间的通信连接。
4.根据权利要求1所述的方法,其特征在于,所述在建立所述通信连接后,利用socket独立线程接收由所述直播平台服务器发送至所述直播平台客户端的数据,若确定所述数据为目标直播间的开播消息,则启动所述直播平台客户端的直播间开播提醒功能,包括:
创建一个线程对象以及与所述线程对象相对应的线程执行函数,并将所述线程对象与所述线程执行函数进行绑定操作,以创建socket独立线程;
调用Start方法执行所述socket独立线程,以获取并保存由所述直播平台服务器发送至所述直播平台客户端的数据;
利用所述直播平台客户端解析所述数据,根据解析后的数据确定所述数据是否为目标直播间的开播消息;
若确定所述数据为目标直播间的开播消息,则启动所述直播平台客户端的直播间开播提醒功能。
5.根据权利要求1所述的方法,其特征在于,在当所述直播平台客户端开机启动后,利用socket建立所述直播平台客户端与直播平台服务器之间的通信连接之后,还包括:
创建所述直播平台客户端与所述直播平台服务器之间的协议格式,所述协议格式为由所述直播平台服务器发送至所述直播平台客户端的数据包括包头和包体两部分;
其中,所述包头的长度为预设字节长度,用于记录所述包体中协议内容的长度,所述包体为字符串形式,用于记录所述协议内容。
6.根据权利要求5所述的方法,其特征在于,在所述创建所述直播平台客户端与所述直播平台服务器之间的协议格式之后,还包括:
对所述协议内容进行编码,得到与所述协议内容相对应的字符串,并将所述字符串写入所述包体中;
基于所述字符串,将所述字符串的长度写入所述包头中;
将所述包头和所述包体作为由所述直播平台服务器发送至所述直播平台客户端的数据,利用所述通信连接,由所述直播平台服务器发送至所述直播平台客户端。
7.一种直播间开播提醒装置,其特征在于,包括:
开机启动功能创建模块,用于创建直播平台客户端的开机启动功能;
通信连接建立模块,用于当所述直播平台客户端开机启动后,利用socket建立所述直播平台客户端与直播平台服务器之间的通信连接;
直播间开播提醒模块,用于在建立所述通信连接后,利用socket独立线程接收由所述直播平台服务器发送至所述直播平台客户端的数据,若确定所述数据为目标直播间的开播消息,则启动所述直播平台客户端的直播间开播提醒功能。
8.根据权利要求7所述的装置,其特征在于,所述开机启动功能创建模块包括:
存储路径获取单元,用于利用GetModuleFileName函数获取所述直播平台客户端的存储路径;
开机启动项的键打开单元,用于利用RegOpenKeyEx函数打开注册表中开机启动项的键;
开机启动功能创建单元,用于利用RegSetValueEx函数,将所述存储路径作为键值写入所述开机启动项的键中,以完成创建所述直播平台客户端的开机启动功能;
开机启动项的键关闭单元,用于关闭所述注册表中开机启动项的键。
9.一种直播间开播提醒终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的直播间开播提醒方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的直播间开播提醒方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811162060.8A CN109408255A (zh) | 2018-09-30 | 2018-09-30 | 一种直播间开播提醒方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811162060.8A CN109408255A (zh) | 2018-09-30 | 2018-09-30 | 一种直播间开播提醒方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109408255A true CN109408255A (zh) | 2019-03-01 |
Family
ID=65466694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811162060.8A Pending CN109408255A (zh) | 2018-09-30 | 2018-09-30 | 一种直播间开播提醒方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408255A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567733A (zh) * | 2022-11-15 | 2023-01-03 | 易方信息科技股份有限公司 | 基于sdk的直播间切换方法、装置、终端以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391307A (zh) * | 2012-05-11 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 离线数据的离线透传和显示方法、装置及系统 |
CN104104524A (zh) * | 2013-04-09 | 2014-10-15 | 广州华多网络科技有限公司 | 提供直播服务的方法、终端、服务器及系统 |
CN104618218A (zh) * | 2014-12-29 | 2015-05-13 | 广州酷狗计算机科技有限公司 | 消息提醒方法及装置 |
CN105391785A (zh) * | 2015-11-25 | 2016-03-09 | 广州华多网络科技有限公司 | 一种业务消息的处理方法和服务器 |
CN106385636A (zh) * | 2016-10-08 | 2017-02-08 | 武汉斗鱼网络科技有限公司 | 一种通过消息推送跳转直播间的方法及系统 |
-
2018
- 2018-09-30 CN CN201811162060.8A patent/CN109408255A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391307A (zh) * | 2012-05-11 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 离线数据的离线透传和显示方法、装置及系统 |
CN104104524A (zh) * | 2013-04-09 | 2014-10-15 | 广州华多网络科技有限公司 | 提供直播服务的方法、终端、服务器及系统 |
CN104618218A (zh) * | 2014-12-29 | 2015-05-13 | 广州酷狗计算机科技有限公司 | 消息提醒方法及装置 |
CN105391785A (zh) * | 2015-11-25 | 2016-03-09 | 广州华多网络科技有限公司 | 一种业务消息的处理方法和服务器 |
CN106385636A (zh) * | 2016-10-08 | 2017-02-08 | 武汉斗鱼网络科技有限公司 | 一种通过消息推送跳转直播间的方法及系统 |
Non-Patent Citations (2)
Title |
---|
冯晓聪 等: "《黑客帝国-Internet安全防范实例》", 31 May 2002 * |
李建成 等: "《Java语言与面向对象程序设计》", 31 October 2004 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567733A (zh) * | 2022-11-15 | 2023-01-03 | 易方信息科技股份有限公司 | 基于sdk的直播间切换方法、装置、终端以及存储介质 |
CN115567733B (zh) * | 2022-11-15 | 2023-02-07 | 易方信息科技股份有限公司 | 基于sdk的直播间切换方法、装置、终端以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2012322844B2 (en) | Device linking | |
AU2004288595B2 (en) | Session description message extensions | |
KR101596530B1 (ko) | 원격 세션에서의 멀티미디어 동작을 관리하는 시스템 및 방법 | |
US20040243714A1 (en) | Automatic Detection of intermediate network device capabilities | |
US20180005631A1 (en) | Performing tasks and returing audio and visual answers based on voice command | |
CN109395372A (zh) | 实现游戏手柄远程操控电脑游戏的方法、系统与电子设备 | |
CN110113407A (zh) | 小程序状态同步方法、设备和计算机存储介质 | |
WO2022111027A1 (zh) | 视频获取方法、电子设备及存储介质 | |
CN109275042A (zh) | 一种弹幕消息的分发方法、装置、终端和存储介质 | |
CN111163330A (zh) | 直播视频的渲染方法、装置、系统、设备及存储介质 | |
CN109660858A (zh) | 直播间交互数据的传输方法、装置、终端及服务器 | |
CN109889922B (zh) | 流媒体数据的转发方法、装置、设备和存储介质 | |
CN104639501B (zh) | 一种数据流传输的方法、设备及系统 | |
CN112689020B (zh) | 一种消息传输方法、消息中间件、电子设备及存储介质 | |
CN109408255A (zh) | 一种直播间开播提醒方法、装置、终端及存储介质 | |
CN108989157B (zh) | 用于智能设备控制的方法、装置 | |
CN109284148A (zh) | 一种直播间开播提醒方法、装置、终端及存储介质 | |
CN108259958A (zh) | 遥控按键响应方法、装置、设备和存储介质 | |
CN102932428B (zh) | 设备链接 | |
CN110798700B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
US9559929B2 (en) | Network bandwidth measurement | |
CN113346973A (zh) | 事件提示方法及装置、电子设备、计算机可读存储介质 | |
CN105847335B (zh) | 一种数据处理方法及服务器 | |
CN101087393A (zh) | 一种收发音视频信息的方法及其电视系统 | |
KR20000058315A (ko) | 멀티미디어 데이터 제작/전송 통합 시스템 및 그 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |
|
RJ01 | Rejection of invention patent application after publication |