CN110896569B - 一种弹幕自动重连方法、存储介质、电子设备及系统 - Google Patents
一种弹幕自动重连方法、存储介质、电子设备及系统 Download PDFInfo
- Publication number
- CN110896569B CN110896569B CN201811062239.6A CN201811062239A CN110896569B CN 110896569 B CN110896569 B CN 110896569B CN 201811062239 A CN201811062239 A CN 201811062239A CN 110896569 B CN110896569 B CN 110896569B
- Authority
- CN
- China
- Prior art keywords
- bullet screen
- client
- screen server
- reconnection
- server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 46
- 238000001514 detection method Methods 0.000 claims abstract description 24
- 230000002159 abnormal effect Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000010269 danmu Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/19—Connection re-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了弹幕自动重连方法、存储介质、电子设备及系统,其用于在弹幕服务器与客户端断开时进行重连,该方法包括进行A、B、C三种判断,若A、B和C的判断结果均为正常,则进行重连,若A、B和C中任一判断的判断结果为不正常,则不进行重连;其中,A、B、C三种判断为:判断A:通过ConnectivityManager函数获取客户端的网络连接状态,基于所述网络连接状态判断客户端网络连接是否正常;判断B:通过ping弹幕服务器域名对弹幕服务器域名进行检测,并返回检测结果,通过所述检测结果判断弹幕服务器的域名解析是否正常;判断C:通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常。本方法可避免无效重连。
Description
技术领域
本发明涉及信息处理技术领域,具体涉及一种弹幕自动重连方法、存储介质、电子设备及系统。
背景技术
目前,随着直播的发展,直播应用的越来越普及,同时越来越多的人通过移动设备来观看直播。
而在直播中存在大量的弹幕,这些直播中的弹幕则是观众来观看以及互动的,弹幕是一种观众与主播能友好的互动方式之一。因此观众能够在观看弹幕时,弹幕的收发是否正常,对于直播来说尤为重要。此外打开直播后,弹幕能够在直播画面放映之前,或者是同步出现对观众是较好的体验。
然而对于移动端来说,其所处的地理以及状态不确定性,导致网络的不稳定,即移动端经常会出现链接弹幕不良甚至链接不上弹幕的状况。传统方案中,如果出现弹幕断开连接,一般有两种处理方法:其一是直接不处理,就会导致弹幕连接断掉,无法继续进行弹幕消息的传输;其二是会进行重新连接,但是如果是网络断开情况下进行多次重新连接,会造成系统资源开销,并且也无法连接成功。也就是说在一些必定不可能成功的情况下进行简单的重复连接弹幕服务器是没有必要的资源开销,并且在连接不上的时候无法排查具体连接失败的原因。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种弹幕自动重连方法、存储介质、电子设备及系统,本方法可以避免无效重连。
为达到以上目的,本发明采取的技术方案是:一种弹幕自动重连方法,其用于在弹幕服务器与客户端断开时进行重连,包括:
进行A、B、C三种判断,若A、B和C的判断结果均为正常,则进行重连,若A、B和C中任一判断的判断结果为不正常,则不进行重连;
其中,A、B、C三种判断为:
判断A:通过ConnectivityManager函数获取客户端的网络连接状态,基于所述网络连接状态判断客户端网络连接是否正常;
判断B:通过ping弹幕服务器域名对弹幕服务器域名进行检测,并返回检测结果,通过所述检测结果判断弹幕服务器的域名解析是否正常;
判断C:通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常。
进一步地,还包括判断弹幕服务器与客户端是否断开的步骤:
客户端周期性向弹幕服务器发送测试消息,弹幕服务器接收到测试消息后向客户端返回响应码;
客户端根据相邻的响应码的接收时间间隔判断弹幕服务器与客户端是否断开。
进一步地,通过ConnectivityManager函数获取客户端的网络连接状态,基于所述网络连接状态判断客户端网络连接是否正常的具体步骤包括:
通过ConnectivityManager函数获取Android操作系统中ConnectivityManager连接管路类型的网络管家mConnectivityManager对象;
通过网络管家mConnectivityManager对象获取当前的NetworkInfo网络连接状态信息的mNetworkInfo对象;
通过mNetworkInfo对象获取客户端当前的网络连接状态,并判断客户端网络连接状态是否正常。
进一步地,通过ping弹幕服务器域名对弹幕服务器域名进行检测,并返回检测结果,通过所述检测结果判断弹幕服务器的域名解析是否正常的具体步骤包括:
ping弹幕服务器域名,检测弹幕服务器的域名信息,并返回检测结果,将所述检测结果保存在第一变量中;
使用contains方法判断所述第一变量中是否包含fault,若包含,则弹幕服务器的域名解析错误,否则,弹幕服务器的域名解析正确。
进一步地,通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常的具体步骤包括:
对弹幕服务器的IP地址进行ping操作,弹幕服务器响应所述ping操作,同时客户端得到响应信息,将所述响应信息保存在第二变量中;
使用contains方法判断所述第二变量中是否包含fault,若所述第二变量包含有fault或所述第二变量为null,则弹幕服务器的IP地址响应不正常,若所述第二变量不含fault且不为null,则弹幕服务器的IP地址响应正常。
进一步地,建立弹幕服务器与客户端重连包括:
构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连。
进一步地,建立弹幕服务器与客户端重连还包括:
创建定时器,若客户端与弹幕服务器重连失败,则在定时器的定时周期内,再次构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连,若重连次数超过设定次数,则再次进行A、B、C三种判断。
本发明还提供了一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的弹幕自动重连方法。
本发明还提供了一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一所述的弹幕自动重连方法。
本发明还提供了一种弹幕自动重连系统,其包括:
第一判断模块,其用于通过ConnectivityManager函数获取网络连接状态,基于所述网络连接状态判断客户端网络连接是否正常;
第二判断模块,其用于通过ping弹幕服务器域名对弹幕服务器域名进行检测,并返回检测结果,通过所述检测结果判断弹幕服务器的域名解析是否正常;
第三判断模块,其用于通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常;
执行模块,其用于执行第一判断模块、第二判断模块、第三判断模块,若第一判断模块、第二判断模块、第三判断模块的判断结果均为正常,则进行重连,若第一判断模块、第二判断模块、第三判断模块中任一判断模块的判断结果为不正常,则不进行重连。
与现有技术相比,本发明的优点在于:
本发明在弹幕服务器与客户端断开的情况下,通过判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常来决定是否直接进行重连,如果判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常这三个判断的结果均为正常,则直接进行重连,否则,任意一个出现不正常,则不进行重连,从而效地避免无效重新连接的问题。
附图说明
图1为本发明实施例提供的一种弹幕自动重连方法流程图;
图2为本发明实施例提供的一种弹幕自动重连系统示意图。
图中:1、第一判断模块;2、第二判断模块;3、第三判断模块;4、执行模块。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例1
参见图1所示,本发明实施例提供了一种弹幕自动重连方法,其用于在弹幕服务器与客户端断开时进行重连,通过本发明能够有效地避免无效重新连接的问题。
本方法包括判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常这三个判断过程,这三个判断过程没有优先次序,但是有最优的次序,先执行判断A,判断客户端的网络是否连接上,再执行判断B和C,这样做的好处是可以优先发现客户端网络连接情况,从而可以告知用户是否需要检查或修复网络状态,同时,可以在A、B和C中任一判断的判断结果为不正常时,输出对应判断的监测日志,开发人员根据监测日志可以获知连接失败的原因,从而可以快速对问题进行定位和处理。
下面以A、B、C三种判断的最优次序作为实施例对本方法进行详细说明。
具体地,按照下述步骤进行:
S1:通过ConnectivityManager函数获取客户端的网络连接状态;基于所述网络连接状态判断客户端网络连接是否正常;若正常,则进入步骤S2,若不正常,则进入步骤S5;
步骤S1是在弹幕服务器与客户端已经处于断开状态下进行的操作,即检测客户端的网络是否处于连接的状态,本发明实施例中的客户端为运行在Android操作系统上的移动直播客户端。具体的检查方法如下:
S100:通过调用Android操作系统的ConnectivityManager函数获取Android操作系统中ConnectivityManager连接管路类型的网络管家mConnectivityManager对象;
本步骤中,ConnectivityManager函数具体为(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE),主要用于管理与网络连接相关的操作并用于查询网络连接状态,当网络状态发生改变时通知应用。
S101:通过调用网络管家mConnectivityManager对象中的mConnectivityManager.getActiveNetworkInfo()方法来获取当前的NetworkInfo网络连接状态信息的mNetworkInfo对象;
S102:通过调用mNetworkInfo对象的mNetworkInfo.isAvailable()方法来获取客户端当前的网络连接状态,并判断客户端网络连接状态是否正常,将结果保存在boolean布尔变量isNetworkSuccess中,如果isNetworkSuccess=true,则表明客户端的网络处于连接状态,网络连接正常,否则,网络连接不正常。
S2:通过ping弹幕服务器域名对弹幕服务器的域名进行检测,并返回检测结果;通过检测结果判断弹幕服务器的域名解析是否正常;若正常,则进入步骤S3,若不正常,则进入步骤S5;
步骤S2是判断弹幕服务器的域名解析是否正常,具体的检查方法如下:
S200:ping弹幕服务器域名,检测弹幕服务器的域名信息,并返回检测结果,将所述检测结果保存在第一变量中;
比如,ping预设域名是调用ping danmu.cdn.com的域名来检弹幕测服务器的防护信息,返回的防护信息的数据保存到在第一变量result1中。
S201:使用contains方法判断所述第一变量中是否包含fault,若包含,则弹幕服务器的域名解析错误,否则,则弹幕服务器的域名解析正确。
也即,对result1.conatains(“fault”)进行判断,如果包含就表示域名解析不正常,否则表示域名解析正常,定义一个boolean布尔变量isDNSSuccess来存储解析的结果信息,isDNSSuccess=true表示解析正常,否则表示解析不正常。
S3:通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常;若正常,则进入步骤S4,若不正常,则进入步骤S5;
具体步骤为:
S300:对弹幕服务器的IP地址进行ping操作,弹幕服务器响应所述ping操作,同时客户端得到响应信息,将所述响应信息保存在第二变量中;
比如,可以调用ping 192.168.1.100的方式对弹幕服务器的IP地址进行ping操作,弹幕服务器响应ping操作后会向客户端发送响应信息,将响应信息保存在第二变量result2中。
S301:使用contains方法判断所述第二变量中是否包含fault,若所述第二变量包含有fault或所述第二变量为null,则弹幕服务器的IP地址响应不正常,若所述第二变量不含fault且不为null,则弹幕服务器的IP地址响应正常。
也即,判定result2.contains(“fault”)或者result2=null,如果result2.contains(“fault”)为true,表明弹幕服务器IP地址响应失败,如果result2=null,表示弹幕服务器没有相应信息,同样为IP地址响应失败。定义boolean变量isIpSuccess来存储结果,如果是上述2种情况中的一种,表明弹幕服务器IP地址响应失败,isIpSucces=false,否则弹幕服务器IP地址响应成功,isIpSucces=true。
S4:弹幕服务器与客户端进行重连;
当isNetworkSuccess、isDNSSuccess和isIpSuccess三个条件监测均通过的情况下,说明客户端网络连接正常,且弹幕服务器当前是正常运行状态,此时可以触发弹幕服务器重新连接流程,建立弹幕服务器与客户端重连包括:
S400:构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连。
也就是客户端与弹幕服务器是通过Socket方式来建立连接关系,具体地,可以通过Socket socket=new Socket("192.168.1.100",5209)来构建一个socket对象,其中192.168.1.100表示的是IP地址信息,5209表示的是端口号信息,通过Socket完成客户端与弹幕服务器之间的重连。
为了提高重连的准确性,建立弹幕服务器与客户端重连还包括:
S401:创建定时器timer3,若客户端与弹幕服务器第一次重连失败后,在timer3的定时周期内,再次构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连,在timer3的定时周期内重连时,通过变量count进行记录重连的次数,每次进行重连,都对count进行加1操作,若重连次数超过设定次数(比如3次)依旧失败,则再次进行A、B、C三种判断,重新判断判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常,若isNetworkSuccess、isDNSSuccess和isIpSuccess均通过,则按照S400的重连方式进行重连,若isNetworkSuccess、isDNSSuccess和isIpSuccess中任一未通过,则进入S5,输出对应判断的监测日志。
S5:输出对应判断的监测日志,监测日志包含有对应判断步骤中判断为不正常的结果信息。
本发明中,判断弹幕服务器与客户端是否断开的步骤包括:
客户端周期性向弹幕服务器发送测试消息,弹幕服务器接收到测试消息后向客户端返回响应码;
客户端根据相邻的响应码的接收时间间隔判断弹幕服务器与客户端是否断开。
具体地,包括:
S500:构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连。
也就是客户端与弹幕服务器是通过Socket方式来建立连接关系,具体地,比如,通过Socket socket=new Socket("192.168.1.100",5209)来构建一个socket对象,其中192.168.1.100表示的是IP地址信息,5209表示的是端口号信息,通过Socket完成客户端与弹幕服务器之间的重连。
通过调用socket中的socket.getOutputStream()方法来获取到一个输出流,后续客户端通过该输出流向弹幕服务器发送信息,将该输出流标记为sendToServer。
通过调用socket中的socket.getInputStream()方法来获取到一个输入流,后续客户端通过该输入流读取弹幕服务器返回的信息,将该输入流标记为receiveFromServer。
通过Timer类中的start()方法来创建定时器timer1,timer1周期性地发送数据到弹幕服务器中,比如3秒发一次,弹幕服务器返回一个响应码,在receiveFromServer对象中读取该响应码。
创建定时器timer2,timer2记录receiveFromServer接收到弹幕服务器返回的相邻的两个响应码的时间间隔。
S501:判断timer2是否大于预设时间,若timer2大于预设时间,此时就表示receiveFromServer无法读取到弹幕服务器的返回码,此时可以理解为客户端已经和弹幕服务器断开了连接关系了,如果在预设时间内receiveFromServer读取到了弹幕服务器的响应码,则表明客户端与弹幕服务器处于连接状态。因此,可以在timer2的超时逻辑中确定弹幕服务器与客户端是否已经断开了连接关系。
本实施例在弹幕服务器与客户端断开的情况下,通过判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常来决定是否直接进行重连,如果判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常之中任意一个出现不正常,则直接输出监测日志,开发人员可以获知连接失败的原因,从而可以快速对问题进行定位和处理,如果判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常判断结果都正常,便直接进行重连,从而有效地避免无效重新连接的问题。
实施例2
对应上述弹幕自动重连方法,本发明实施例还提供了一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述各实施例的步骤。需要说明的是,本发明实施例的存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
实施例3
对应上述弹幕自动重连方法,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各实施例的步骤。需要说明的是,所述电子设备包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例的稳步移动端显示方法。
实施例4
参见图2所示,本发明实施例还提供了一种弹幕自动重连系统,其包括第一判断模块1、第二判断模块2、第三判断模块3和执行模块4;其中,
第一判断模块1用于通过ConnectivityManager函数获取网络连接状态,基于所述网络连接状态判断客户端网络连接是否正常;
第二判断模块2用于通过ping弹幕服务器域名对弹幕服务器的域名进行检测,并返回检测结果,通过所述检测结果判断弹幕服务器的域名解析是否正常;
第三判断模块3用于通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常;
执行模块4用于执行第一判断模块1、第二判断模块2、第三判断模块3,若第一判断模块1、第二判断模块2、第三判断模块3的判断结果均为正常,则进行重连,若第一判断模块1、第二判断模块2、第三判断模块3中任一判断模块的判断结果为不正常,则不进行重连。
当然了,执行模块4还用于当第一判断模块1、第二判断模块2、第三判断模块3中任一判断模块的判断结果为不正常时,输出对应判断模块的监测日志。
本系统在弹幕服务器与客户端断开的情况下,通过判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常来决定是否直接进行重连,如果判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常之中任意一个出现不正常,则直接输出监测日志,开发人员可以获知连接失败的原因,从而可以快速对问题进行定位和处理,如果判断客户端网络连接是否正常、判断弹幕服务器的域名解析是否正常、判断弹幕服务器的IP地址响应是否正常判断结果都正常,便直接进行重连,从而有效地避免无效重新连接的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种弹幕自动重连方法,其用于在弹幕服务器与客户端断开时进行重连,其特征在于,包括:
进行A、B、C三种判断,若A、B和C的判断结果均为正常,则进行重连,若A、B和C中任一判断的判断结果为不正常,则不进行重连;
其中,A、B、C三种判断为:
判断A:通过ConnectivityManager函数获取客户端的网络连接状态,基于所述网络连接状态判断客户端网络连接是否正常;
判断B:通过ping弹幕服务器域名对弹幕服务器域名进行检测,并返回检测结果,通过所述检测结果判断弹幕服务器的域名解析是否正常;
判断C:通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常;
其中,建立弹幕服务器与客户端重连包括:
构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连;
建立弹幕服务器与客户端重连还包括:
创建定时器,若客户端与弹幕服务器重连失败,则在定时器的定时周期内,再次构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连,若重连次数超过设定次数,则再次进行A、B、C三种判断。
2.如权利要求1所述的弹幕自动重连方法,其特征在于,还包括判断弹幕服务器与客户端是否断开的步骤:
客户端周期性向弹幕服务器发送测试消息,弹幕服务器接收到测试消息后向客户端返回响应码;
客户端根据相邻的响应码的接收时间间隔判断弹幕服务器与客户端是否断开。
3.如权利要求1所述的弹幕自动重连方法,其特征在于,通过ConnectivityManager函数获取客户端的网络连接状态,基于所述网络连接状态判断客户端网络连接是否正常的具体步骤包括:
通过ConnectivityManager函数获取Android操作系统中ConnectivityManager连接管路类型的网络管家mConnectivityManager对象;
通过网络管家mConnectivityManager对象获取当前的NetworkInfo网络连接状态信息的mNetworkInfo对象;
通过mNetworkInfo对象获取客户端当前的网络连接状态,并判断客户端网络连接状态是否正常。
4.如权利要求1所述的弹幕自动重连方法,其特征在于,通过ping弹幕服务器域名对弹幕服务器域名进行检测,并返回检测结果,通过所述检测结果判断弹幕服务器的域名解析是否正常的具体步骤包括:
ping弹幕服务器域名,检测弹幕服务器的域名信息,并返回检测结果,将所述检测结果保存在第一变量中;
使用contains方法判断所述第一变量中是否包含fault,若包含,则弹幕服务器的域名解析错误,否则,弹幕服务器的域名解析正确。
5.如权利要求1所述的弹幕自动重连方法,其特征在于,通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常的具体步骤包括:
对弹幕服务器的IP地址进行ping操作,弹幕服务器响应所述ping操作,同时客户端得到响应信息,将所述响应信息保存在第二变量中;
使用contains方法判断所述第二变量中是否包含fault,若所述第二变量包含有fault或所述第二变量为null,则弹幕服务器的IP地址响应不正常,若所述第二变量不含fault且不为null,则弹幕服务器的IP地址响应正常。
6.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一所述的弹幕自动重连方法。
7.一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至5任一所述的弹幕自动重连方法。
8.一种弹幕自动重连系统,其特征在于,其包括:
第一判断模块,其用于通过ConnectivityManager函数获取网络连接状态,基于所述网络连接状态判断客户端网络连接是否正常;
第二判断模块,其用于通过ping弹幕服务器域名对弹幕服务器域名进行检测,并返回检测结果,通过所述检测结果判断弹幕服务器的域名解析是否正常;
第三判断模块,其用于通过ping弹幕服务器的IP地址判断弹幕服务器的IP地址响应是否正常;
执行模块,其用于执行第一判断模块、第二判断模块、第三判断模块,若第一判断模块、第二判断模块、第三判断模块的判断结果均为正常,则进行重连,若第一判断模块、第二判断模块、第三判断模块中任一判断模块的判断结果为不正常,则不进行重连;
其中,建立弹幕服务器与客户端重连包括:
构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连;
建立弹幕服务器与客户端重连还包括:
创建定时器,若客户端与弹幕服务器重连失败,则在定时器的定时周期内,再次构建Socket对象,通过Socket对象建立客户端与弹幕服务器的连接,完成客户端与弹幕服务器的重连,若重连次数超过设定次数,则再次进行A、B、C三种判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811062239.6A CN110896569B (zh) | 2018-09-12 | 2018-09-12 | 一种弹幕自动重连方法、存储介质、电子设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811062239.6A CN110896569B (zh) | 2018-09-12 | 2018-09-12 | 一种弹幕自动重连方法、存储介质、电子设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110896569A CN110896569A (zh) | 2020-03-20 |
CN110896569B true CN110896569B (zh) | 2021-09-07 |
Family
ID=69784940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811062239.6A Active CN110896569B (zh) | 2018-09-12 | 2018-09-12 | 一种弹幕自动重连方法、存储介质、电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110896569B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113115059B (zh) * | 2021-03-29 | 2022-07-05 | 武汉斗鱼鱼乐网络科技有限公司 | 弹幕连接监控方法、装置、设备及存储介质 |
CN114866611B (zh) * | 2022-03-23 | 2024-09-27 | Oppo广东移动通信有限公司 | 消息回调方法、装置、存储介质以及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846330A (zh) * | 2017-12-18 | 2018-03-27 | 深圳创维数字技术有限公司 | 一种网络故障检测方法、终端及计算机可读介质 |
CN107872523A (zh) * | 2017-11-07 | 2018-04-03 | 广东欧珀移动通信有限公司 | 网络数据的加载方法、装置、存储介质及移动终端 |
CN108430116A (zh) * | 2018-03-02 | 2018-08-21 | 杭州朗和科技有限公司 | 断网重连方法、介质、装置和计算设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150049600A1 (en) * | 2013-08-15 | 2015-02-19 | Qualcomm Incorporated | Prioritizing frequencies in embms multi-frequency deployment during rlf/oos |
US10009951B2 (en) * | 2016-05-10 | 2018-06-26 | Kodacloud Inc. | Executing a corrective action based on behavior detected during a connection stage |
-
2018
- 2018-09-12 CN CN201811062239.6A patent/CN110896569B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872523A (zh) * | 2017-11-07 | 2018-04-03 | 广东欧珀移动通信有限公司 | 网络数据的加载方法、装置、存储介质及移动终端 |
CN107846330A (zh) * | 2017-12-18 | 2018-03-27 | 深圳创维数字技术有限公司 | 一种网络故障检测方法、终端及计算机可读介质 |
CN108430116A (zh) * | 2018-03-02 | 2018-08-21 | 杭州朗和科技有限公司 | 断网重连方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110896569A (zh) | 2020-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694674B (zh) | 消息分发处理方法、装置、设备及存储介质 | |
US10423958B2 (en) | Method, apparatus and system for voice verification | |
CN112650685B (zh) | 自动化测试方法、装置、电子设备及计算机存储介质 | |
CN111314181B (zh) | 网络联通性诊断方法、装置、终端和存储介质 | |
CN110022260B (zh) | 一种跨环境回执消息处理方法及系统 | |
WO2014169645A1 (zh) | 一种检测智能终端故障的方法以及智能终端 | |
CN110177300B (zh) | 程序运行状态的监控方法、装置、电子设备和存储介质 | |
EP3786822A1 (en) | Method for processing information, ue, server, computer program, and storage medium | |
CN110896569B (zh) | 一种弹幕自动重连方法、存储介质、电子设备及系统 | |
WO2021147455A1 (zh) | 消息处理方法、装置及电子设备 | |
CN111554219A (zh) | 一种显示设备的测试方法、装置、电子产品及存储介质 | |
CN112953791B (zh) | 网络探测方法、装置、电子设备及计算机可读存储介质 | |
CN111447170A (zh) | 数据处理方法及其系统、计算机系统及计算机可读介质 | |
CN110474821B (zh) | 节点故障检测方法及装置 | |
CN115996179A (zh) | 业务节点的测试方法、装置、可读介质和电子设备 | |
CN111935497B (zh) | 一种用于交警系统的视频流管理方法和数据服务器 | |
CN111200522B (zh) | 一种端口检测方法、装置、设备及存储介质 | |
CN111262731A (zh) | 告警方法、装置、服务器设备及存储介质 | |
CN114257632B (zh) | 断线重连的方法、装置、电子设备及可读存储介质 | |
US11693739B2 (en) | Hang detection and remediation in a multi-threaded application process | |
CN106230878B (zh) | 一种基于AllJoyn框架的设备服务调用方法及装置 | |
CN114389970A (zh) | 一种链路监控方法及装置 | |
CN116260747A (zh) | 终端测试设备的监测方法、装置及电子设备 | |
CN113778800B (zh) | 一种报错信息处理方法、装置、系统、设备及存储介质 | |
CN112671822B (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 |