一种断线重连的方法及装置与流程

文档序号:15595744发布日期:2018-10-02 19:29阅读:192来源:国知局

本发明涉及移动互联的技术领域,尤其涉及一种断线重连的方法及装置。



背景技术:

随着移动互联网技术的发展,4g网络已经广泛普及,移动终端(例如:智能手机)的上网速度越来越快,人们也习惯了使用移动互联网来玩网络游戏。

“断线重连”是网络游戏中经常要用到的技术,在手机断网时,游戏客户端会与游戏服务器失去联系(即:断线),这时就需要游戏客户端与游戏服务器重新建立连接,这也就是“断线重连”。

目前,在进行断线重连时,主要是基于手机系统下发的广播消息来实现。但是,在手机断网时,手机系统会连续下发三次广播消息,而其中有两次广播消息是一样的,这会导致游戏客户端的处理逻辑混乱,游戏客户端需要建立两次重连接,而后一次又会将前一次顶掉,这无疑是没有意义的,并且还会降低重连接的速度,加重系统的负担。



技术实现要素:

本申请实施例通过提供一种断线重连的方法及装置,解决了现有技术中在进行断线重连时,存在处理逻辑混乱,重连接速度较慢,系统负担较重的技术问题,实现了在进行断线重连时,处理逻辑清晰,减轻系统负担,提高重连接速度的技术效果。

第一方面,本申请通过本申请的一实施例提供如下技术方案:

一种断线重连的方法,包括:

在客户端与服务器联网过程中,通过监听模块对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;

在发现所述移动终端的网络出现异常时,通过所述监听模块向所述移动终端的系统发送一预设消息;

通过重连模块接收所述预设消息,并基于所述预设消息,判断所述移动终端的网络是否恢复正常,其中,所述重连模块设置在所述客户端中;

若所述移动终端的网络恢复正常,则通过所述重连模块重新建立所述客户端与所述服务器之间的网络连接。

优选地,所述通过监听模块对移动终端的网络状态进行监听,包括:

通过监听模块对所述系统下发的广播消息进行监听,若接收到第一预设广播消息,则确定所述移动终端的网络出现异常;或

通过监听模块对所述客户端与所述服务器之间的socket连接进行监听,若发现所述的socket连接断线,则确定所述移动终端的网络出现异常。

优选地,所述通过所述监听模块向所述移动终端的系统发送一预设消息,包括:

在所述移动终端的网络恢复正常之前,每一隔预设时间段,通过所述监听模块向所述移动终端的系统发送所述预设消息。

优选地,所述预设时间段为2~4秒钟。

优选地,所述通过所述监听模块向所述移动终端的系统发送所述预设消息,包括:

通过通过通述监听模块基于handle消息处理机制,向所述移动终端的系统发送所述预设消息;或

通过所述监听模块通过广播向所述移动终端的系统发送所述预设消息。

优选地,所述预设消息为空消息。

第二方面,本申请通过本申请的一实施例,提供如下技术方案:

一种断线重连的装置,包括:

监听模块,用于在客户端与服务器联网过程中,对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;在发现所述移动终端的网络出现异常时,向所述移动终端的系统发送一预设消息;

重连模块,用于接收所述预设消息,并基于所述预设消息,判断所述移动终端的网络是否恢复正常,其中,所述重连模块设置在所述客户端中;若所述移动终端的网络恢复正常,则重新建立所述客户端与所述服务器之间的网络连接。

优选地,所述监听模块,具体用于:

对所述系统下发的广播消息进行监听,若接收到第一预设广播消息,则确定所述移动终端的网络出现异常;或对所述客户端与所述服务器之间的socket连接进行监听,若发现所述socket连接断线,则确定所述移动终端的网络出现异常。

第三方面,本申请通过本申请的一实施例,提供如下技术方案:

一种断线重连的装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

在客户端与服务器联网过程中,通过监听模块对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;在发现所述移动终端的网络出现异常时,通过所述监听模块向所述移动终端的系统发送一预设消息;通过重连模块接收所述预设消息,并基于所述预设消息,判断所述移动终端的网络是否恢复正常,其中,所述重连模块设置在所述客户端中;若所述移动终端的网络恢复正常,则通过所述重连模块重新建立所述客户端与所述服务器之间的网络连接。

第四方面,本申请通过本申请的一实施例,提供如下技术方案:

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

在客户端与服务器联网过程中,通过监听模块对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;在发现所述移动终端的网络出现异常时,通过所述监听模块向所述移动终端的系统发送一预设消息;通过重连模块接收所述预设消息,并基于所述预设消息,判断所述移动终端的网络是否恢复正常,其中,所述重连模块设置在所述客户端中;若所述移动终端的网络恢复正常,则通过所述重连模块重新建立所述客户端与所述服务器之间的网络连接。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

在本申请实施例中,公开了一种断线重连的方法,包括:在客户端与服务器联网过程中,监听模块对移动终端的网络状态进行监听,其中,客户端安装在动终端的系统上,监听模块设置在客户端中;在发现移动终端的网络出现异常时,监听模块向移动终端的系统发送一预设消息;重连模块接收预设消息,并基于预设消息,重新建立客户端与服务器之间的网络连接,其中,重连模块设置在所述客户端中。由于在进行断线重连时,不依赖手机系统下发的广播消息,因此避免了处理逻辑出现混乱,无需建立两次重连接,进而提高了重连接速度,减轻了系统负担。所以解决了现有技术中在进行断线重连时,存在处理逻辑混乱,重连接速度较慢,系统负担重的技术问题,实现了在进行断线重连时,处理逻辑清晰,减轻系统负担,提高重连接速度的技术效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中一种断线重连的方法的流程图;

图2为本申请实施例中一种断线重连的装置的结构图;

图3为本申请实施例中一种断线重连的装置的结构图;

图4为本申请实施例中一种计算机可读存储介质的结构图。

具体实施方式

本申请实施例通过提供一种断线重连的方法及装置,解决了现有技术中在进行断线重连时,存在处理逻辑混乱,重连接速度较慢,系统负担较重的技术问题,实现了在进行断线重连时,处理逻辑清晰,减轻系统负担,提高重连接速度的技术效果。

本申请实施例的技术方案为解决上述技术问题,总体思路如下:

一种断线重连的方法,包括:在客户端与服务器联网过程中,监听模块对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;在发现所述移动终端的网络出现异常时,所述监听模块向所述移动终端的系统发送一预设消息;重连模块接收所述预设消息,并基于所述预设消息,重新建立所述客户端与所述服务器之间的网络连接,其中,所述重连模块设置在所述客户端中。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

实施例一

本实施例提供了一种断线重连的方法,应用于移动终端中,所述移动终端可以是智能手机、或平板电脑、游戏机等等,对于所述移动终端具体是何种设备,本实施例不作具体限定。其中,在该移动终端中安装有一操作系统(例如:android系统、或ios系统),且在该操作系统上安装有一客户端,本实施例中的断线重连的方法的执行主体即为该客户端。

如图1所示,所述断线重连的方法,包括:

步骤s101:在客户端与服务器联网过程中,监听模块对移动终端的网络状态进行监听,其中,客户端安装在移动终端的系统上,监听模块设置在客户端中。

在具体实施过程中,该客户端可以是(网络)游戏客户端,用户在使用移动终端玩网络游戏时,客户端则需要与服务器(例如:游戏代理服务器)进行联网。或者,该客户端也可以是网络直播平台(例如:“斗鱼”直播平台)的客户端,用户可以在玩游戏时,同时打开该客户端,并将游戏画面通过该网络直播平台进行直播。

在具体实施过程中,在该客户端中设置有两个模块(即:监听模块和重连模块),这两个模块可以通过不同的线程运行。其中,监听模块负责对移动终端的网络状态进行监听,重连模块负责在客户端与服务器断线时,重新与服务器建立连接。

作为一种可选的实施例,所述监听模块对移动终端的网络状态进行监听,包括:

监听模块对客户端与服务器之间的socket连接进行监听,若发现的socket连接断线,则确定移动终端的网络出现异常。

在具体实施过程中,移动终端会接入到移动运营商(例如:“联通”、或“移动”、或“电信”)的移动网络连接(例如:3g网络或4g网络)中,但是,由于移动网络存在覆盖不全面的区域,移动终端在这些区域则容易出现断网的情况。

在具体实施过程中,监听模块负责对移动终端的网络状态进行监听。具体来讲,监听模块可以对客户端与服务器之间的socket连接进行监听,在游戏过程中,客户端的socket和服务器的socket是处于连接状态的,移动终端只要断网,该socket连接就会断线,socket就会报错,此时,监听模块则可以根据该报错信息获知socket断线了,也就获知移动终端的网络出现了异常。

步骤s102:在发现移动终端的网络出现异常时,监听模块向移动终端的系统发送一预设消息。

作为一种可选的实施例,所述监听模块向移动终端的系统发送一预设消息,包括:

在移动终端的网络恢复正常之前(即:移动终端的网络出现异常时),监听模块可以每隔一预设时间段,向移动终端的系统发送预设消息。

在具体实施过程中,监听模块可以基于android系统中的handle消息处理机制,创建一handle对象,并利用该handle对象每隔一预设时间段向移动终端的系统发送一次预设消息;或者,监听模块也可以每隔一预设时间段通过广播的方式向移动终端的系统发送一次预设消息。此处,由于重连模块与监听模块运行在不同的线程中,所以采用handle机制或广播的方式,可以实现跨线程的消息传输。

在具体实施过程中,所述预设时间的取值范围为:2秒~4秒(例如:2秒、或3秒。或4秒、等等)。此处,若频率太高,则系统负担过重,且过高的频率也没有意义;若频率太低,则重连的速度太慢,会对游戏运行造成较大影响,用户的感受也不好。优选为3秒钟,不仅可以实现快速重连,降低对游戏运行的影响,使用户尚未发觉(或刚一发觉)断线时,就已经重新连接了,同时也不会加重系统负担。

在具体实施过程中,所述预设消息可以一约定消息,优选地,此处可以为空消息,这样可以降低消息的数据量,提高消息的收发速度。

举例来讲,在移动终端的网络恢复正常之前,监听模块可以每隔3秒钟向移动终端的系统发送一次空消息。

步骤s103:重连模块接收预设消息,并基于该预设消息,重新建立客户端与服务器之间的网络连接。

在具体实施过程中,重连模块每收到一次该预设消息(例如:空消息),则会尝试与服务器重新建立一次网络连接(即:socket连接),如果能连上,则代表移动终端的网络恢复正常,客户端则可以正常地与服务器进行通信,如果连不上,则代表移动终端的网络仍然存在异常,则需要继续等待下一个3秒,在收到该预设消息后,再与服务器重新建立一次网络连接。

在本实施例中,在进行断线重连时,不依赖系统下发广播消息,因此避免了处理逻辑出现混乱,无需建立两次重连接,进而提高了重连接速度,减轻了系统负担。

上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:

在本申请实施例中,公开了一种断线重连的方法,包括:在客户端与服务器联网过程中,监听模块对移动终端的网络状态进行监听,其中,客户端安装在动终端的系统上,监听模块设置在客户端中;在发现移动终端的网络出现异常时,监听模块向移动终端的系统发送一预设消息;重连模块接收预设消息,并基于预设消息,重新建立客户端与服务器之间的网络连接,其中,重连模块设置在所述客户端中。由于在进行断线重连时,不依赖手机系统下发的广播消息,因此避免了处理逻辑出现混乱,无需建立两次重连接,进而提高了重连接速度,减轻了系统负担。所以解决了现有技术中在进行断线重连时,存在处理逻辑混乱,重连接速度较慢,系统负担重的技术问题,实现了在进行断线重连时,处理逻辑清晰,减轻系统负担,提高重连接速度的技术效果。

实施例二

基于同一发明构思,本实施例提供了一种断线重连的装置200,如图2所示,包括:

监听模块201,用于在客户端与服务器联网过程中,对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;在发现所述移动终端的网络出现异常时,向所述移动终端的系统发送一预设消息;

重连模块202,用于接收所述预设消息,并基于所述预设消息,重新建立所述客户端与所述服务器之间的网络连接,其中,所述重连模块设置在所述客户端中。

作为一种可选的实施例,监听模块201,具体用于:

对所述客户端与所述服务器之间的socket连接进行监听,若发现所述的socket连接断线,则确定所述移动终端的网络出现异常。

作为一种可选的实施例,监听模块201,具体用于:

在所述移动终端的网络恢复正常之前,每隔一预设时间段,向所述移动终端的系统发送一次所述预设消息。

作为一种可选的实施例,所述预设时间段为:2~4秒钟。

作为一种可选的实施例,监听模块201,具体用于:

基于handle消息处理机制,向所述移动终端的系统发送所述预设消息;或通过广播方式,向所述移动终端的系统发送所述预设消息。

作为一种可选的实施例,所述预设消息为空消息。

由于本实施例所介绍的断线重连的装置为实施本申请实施例中断线重连的方法所采用的装置,故而基于本申请实施例中所介绍的断线重连的方法,本领域所属技术人员能够了解本实施例的断线重连的装置的具体实施方式以及其各种变化形式,所以在此对于该断线重连的装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中断线重连的方法所采用的装置,都属于本申请所欲保护的范围。

上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:

在本申请实施例中,公开了一种断线重连的装置,包括:监听模块,用于在客户端与服务器联网过程中,对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;在发现所述移动终端的网络出现异常时,向所述移动终端的系统发送一预设消息;重连模块,用于接收所述预设消息,并基于所述预设消息,重新建立所述客户端与所述服务器之间的网络连接,其中,所述重连模块设置在所述客户端中。由于在进行断线重连时,不依赖手机系统下发的广播消息,因此避免了处理逻辑出现混乱,无需建立两次重连接,进而提高了重连接速度,减轻了系统负担。所以解决了现有技术中在进行断线重连时,存在处理逻辑混乱,重连接速度较慢,系统负担重的技术问题,实现了在进行断线重连时,处理逻辑清晰,减轻系统负担,提高重连接速度的技术效果。

实施例三

基于同一发明构思,如图3所示,本实施例提供了一种断线重连的装置300,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:

在客户端与服务器联网过程中,监听模块对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;在发现所述移动终端的网络出现异常时,所述监听模块向所述移动终端的系统发送一预设消息;重连模块接收所述预设消息,并基于所述预设消息,重新建立所述客户端与所述服务器之间的网络连接,其中,所述重连模块设置在所述客户端中。

在具体实施过程中,处理器320执行计算机程序311时,可以实现实施例一中的任一实施方式。

实施例四

基于同一发明构思,如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,计算机程序411被处理器执行时实现以下步骤:

在客户端与服务器联网过程中,监听模块对移动终端的网络状态进行监听,其中,所述客户端安装在所述移动终端的系统上,所述监听模块设置在所述客户端中;在发现所述移动终端的网络出现异常时,所述监听模块向所述移动终端的系统发送一预设消息;重连模块接收所述预设消息,并基于所述预设消息,重新建立所述客户端与所述服务器之间的网络连接,其中,所述重连模块设置在所述客户端中。

在具体实施过程中,计算机程序411被处理器执行时,可以实现实施例一中的任一实施方式。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1