CN112491810B - 一种数据连接的方法及移动终端 - Google Patents
一种数据连接的方法及移动终端 Download PDFInfo
- Publication number
- CN112491810B CN112491810B CN202011237937.2A CN202011237937A CN112491810B CN 112491810 B CN112491810 B CN 112491810B CN 202011237937 A CN202011237937 A CN 202011237937A CN 112491810 B CN112491810 B CN 112491810B
- Authority
- CN
- China
- Prior art keywords
- application
- network
- communication connection
- target server
- communication
- 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 35
- 238000004891 communication Methods 0.000 claims abstract description 293
- 230000015654 memory Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000011084 recovery Methods 0.000 claims description 6
- 230000007547 defect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 27
- 239000003795 chemical substances by application Substances 0.000 description 20
- 230000008569 process Effects 0.000 description 6
- 238000009434 installation Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/19—Connection re-establishment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种数据连接的方法及移动终端,该方法和移动终端能够弥补现有技术中任一具有长连接任务需求的应用都需要开发重连接功能的不足,从而提高重连接功能的复用性。其中,数据连接的方法包括:若检测到用户针对第一应用的第一操作指令,则代理应用建立所述第一应用与第一目标服务器的通信连接,第一操作指令用于创建第一应用与第一目标服务器之间的长连接任务,长连接任务基于通信连接被执行;若监听到中断通信连接的事件,则代理应用基于移动终端所支持的备用网络重新建立第一应用与第一目标服务器之间的通信连接,以完成长连接任务。
Description
技术领域
本发明涉及终端技术领域,尤其涉及一种数据连接的方法及移动终端。
背景技术
目前,在某些场景中需要实现应用程序与目标服务器之间稳定的长连接,例如,移动终端想要安装某个新的应用程序,而该应用程序对应的安装包存储于目标服务器,那么就需要基于浏览器或者应用商店从目标服务器下载该应用程序的安装包。若所需要下载的安装包较大,例如,游戏类应用的安装包通常在1GB以上,那么将安装包从目标服务器下载到本地的时间就会较长,这就需要浏览器或者应用商店与目标服务器建立稳定的长连接。一旦外界网络发生变化,那么浏览器或应用商店与目标服务器之间的通信连接就可能中断,从而导致下载任务失败。
现有技术中,若某个应用程序需要与目标服务器建立稳定的长连接,那么在开发该应用程序时,往往会加入重连接的功能,即一旦确定该应用程序与目标服务器的通信连接发生中断时,该应用程序可以自动与目标服务器重新建立连接。若多个应用都具有长连接的需求,那么就需要为每一个应用加入重连接的功能,从而导致重连接功能的复用性较差。
可见,现有技术中针对每个具有长连接需求的应用单独开发自动重连功能较为繁琐,导致重连接功能的复用性较差。
发明内容
本发明提供了一种数据连接的方法及移动终端,该方法和移动终端能够弥补现有技术中任一具有长连接任务需求的应用都需要开发重连接功能的不足,从而提供重连接功能的复用性。
第一方面,本发明实施例提供了一种数据连接的方法,应用于移动终端,该移动终端安装有多个应用且集成有代理应用,代理应用用于监听移动终端反馈的网络事件,针对多个应用中的第一应用,所述方法包括:
若检测到用户针对所述第一应用的第一操作指令,则所述代理应用建立所述第一应用与第一目标服务器的通信连接,所述第一操作指令用于创建所述第一应用与所述第一目标服务器之间的长连接任务,所述长连接任务基于所述通信连接被执行;
若监听到中断所述通信连接的事件,则所述代理应用基于所述移动终端所支持的备用网络重新建立所述第一应用与所述第一目标服务器之间的通信连接,以完成所述长连接任务。
本发明实施例中,移动终端中可以认为安装有多个应用,第一应用可以是上述多个应用中的任意一个应用,同时移动终端也集成有代理应用,该代理应用具有重连接功能。当用户创建第一应用与第一目标服务器的长连接任务时,可以通过代理应用来建立第一应用与第一目标服务器之间的通信连接,那么上述长连接任务就可以基于上述通信连接执行。一旦检测到上述通信连接断开,那么上述长连接任务也会被中断,此时代理应用可以通过移动终端所支持的备用网络来重新建立第一应用与第一目标服务器之间的通信连接,使得上述长连接任务可以继续被执行,直到完成上述长连接任务为止。该方法中多个应用的重连接可以统一由代理应用来实现,从而弥补了现有技术中任一具有长连接任务需求的应用都需要开发重连接功能的不足,从而提高重连接功能的复用性。
可选的,还包括:
若确定不存在所述备用网络,则所述代理应用监听下一个网络事件;
若监听到所述下一个网络事件指示网络恢复,则所述代理应用基于恢复后的网络重新建立所述第一应用与所述第一目标服务器之间的通信连接。
本发明实施例中,若当前所使用的网络发生中断,同时也不存在备用网络,那么只能等待发生中断的网络重新恢复。一旦代理应用监听到网络恢复的事件,代理应用就可以基于恢复后的网络重新建立第一应用与第一目标服务器之间的通信连接,从而使第一应用与第一目标服务器之间的长连接任务可以继续被执行,直到完成上述长连接任务为止。
可选的,所述代理应用建立所述第一应用与所述第一目标服务器的通信连接包括:
建立所述第一应用与所述代理应用之间的第一网络通信连接以及建立所述代理应用与所述第一目标服务器之间的第二网络通信连接,所述第一网络通信连接的类型为本地通信,所述第二网络通信连接的类型为外网通信。
本发明实施例中,若用户创建了第一应用与第一目标服务器之间的长连接任务,这就意味着第一应用与第一目标服务器之间的通信连接需要尽量保持稳定。由于第一应用不具有重连接功能,因此,可以分别建立第一应用与代理应用的第一网络通信连接以及代理应用与第一目标服务器的第二网络通信连接,即通过代理应用间接实现第一应用与第一目标服务器之间的网络连接,从而可以通过代理应用所具有的重连接功能来实现第一应用与第一目标服务器之间的稳定连接。
可选的,建立所述第一应用与所述代理应用之间的第一网络通信连接包括:
所述代理应用的第一通信端点接收由所述第一应用的第一通信端点创建的第一套接字,所述代理应用的第一通信端点的属性信息包括第一固定IP地址以及第一固定端口号,所述第一应用的第一通信端点所对应的属性信息中所包含的IP地址被配置为与所述第一固定IP地址相同;
所述代理应用的第一通信端点基于所述第一套接字建立与所述第一应用的第一通信端点的网络通信连接。
本发明实施例中,在建立第一应用与代理应用之间的通信连接时,可以建立第一应用的第一通信端点与代理应用的第一通信端点之间的通信连接。由于代理应用的第一通信端点的属性信息中所包含的IP地址与端口号为固定值,那么第一应用的第一通信端点所对应的属性信息中所包含的IP地址可以被配置为上述固定IP地址,第一应用的第一通信端点的属性信息中所包含的端口号则可以由移动终端对应的操作系统分配。由于第一应用的第一通信端点与代理应用的第一通信端点所对应的IP地址相同,那么可以认为第一应用与代理应用之间建立的通信连接较为稳定。
可选的,建立所述代理应用与所述第一目标服务器之间的第二网络通信连接包括:
所述代理应用的第二通信端点创建第二套接字,并向所述第一目标服务器的第一通信端点发送所述第二套接字,以使所述第一目标服务器的第一通信端点与所述代理应用的第二通信端点建立网络通信连接,所述第一目标服务器的第一通信端点的属性信息为所述第一应用的第一通信端点向所述代理应用的第一通信端点发送的,所述第一目标服务器的第一通信端点的属性信息包括第二固定IP地址以及第二固定端口号,所述代理应用的第二通信端点的属性信息中所包含的IP地址与所述移动终端在当前网络中被分配的IP地址相一致。
本发明实施例中,在建立代理应用与第一目标服务器之间的通信连接时,可以建立代理应用的第二通信端点与第一目标服务器的第一通信端点之间的通信连接。第一目标服务器的第一通信端点的属性信息中所包含的IP地址与端口号为固定值,代理应用的第二通信端点的属性信息中所包含的IP地址与移动终端在当前网络中被分配的IP地址相一致,代理应用的第二通信端点的属性信息中所包含的端口号由移动终端的操作系统分配且与第一应用相对应,从而保证不同的应用所使用的端口号不相同。那么只要当前移动终端所在的环境中存在可用的网络,就可以确定代理应用的第二通信端点所对应的属性信息,进而代理应用就可以建立自身与第一目标服务器之间的网络通信连接,即实现第一应用与第一目标服务器之间的连接。
第二方面,本发明实施例提供一种移动终端,应用于移动终端,所述移动终端安装有多个应用且集成有代理应用,所述代理应用用于监听所述移动终端反馈的网络事件,针对所述多个应用中的第一应用,所述移动终端包括:
第一连接单元,用于当检测到用户针对所述第一应用的第一操作指令时,则建立所述第一应用与第一目标服务器的通信连接,所述第一操作指令用于创建所述第一应用与所述第一目标服务器之间的长连接任务,所述长连接任务基于所述通信连接被执行;
第二连接单元,用于当监听到中断所述通信连接的事件,则基于所述移动终端所支持的备用网络重新建立所述第一应用与所述第一目标服务器之间的通信连接,以完成所述长连接任务。
可选的,所述移动终端还包括:
监听单元,用于当确定不存在所述备用网络,则监听下一个网络事件;
第三连接单元,用于当监听到所述下一个网络事件指示网络恢复,则基于恢复后的网络重新建立所述第一应用与所述第一目标服务器之间的通信连接。
可选的,所述第一连接单元具体用于:
建立所述第一应用与所述代理应用之间的第一网络通信连接以及建立所述代理应用与所述第一目标服务器之间的第二网络通信连接,所述第一网络通信连接的类型为本地通信,所述第二网络通信连接的类型为外网通信。
可选的,所述第一连接单元具体还用于:
接收由所述第一应用的第一通信端点创建的第一套接字,所述代理应用的第一通信端点的属性信息包括第一固定IP地址以及第一固定端口号,所述第一应用的第一通信端点所对应的属性信息中所包含的IP地址被配置为与所述第一固定IP地址相同;
基于所述第一套接字建立与所述第一应用的第一通信端点的网络通信连接。
可选的,所述第一连接单元具体还用于:
创建第二套接字,并向所述第一目标服务器的第一通信端点发送所述第二套接字,以使所述第一目标服务器的第一通信端点与所述代理应用的第二通信端点建立网络通信连接,所述第一目标服务器的第一通信端点的属性信息为所述第一应用的第一通信端点向所述代理应用的第一通信端点发送的,所述第一目标服务器的第一通信端点的属性信息包括第二固定IP地址以及第二固定端口号,所述代理应用的第二通信端点的属性信息中所包含的IP地址与所述移动终端在当前网络中被分配的IP地址相一致。
第三方面,本发明实施例提供一种移动终端,所述移动终端包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序是实现如第一方面实施例所述方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面实施例所述方法的步骤。
附图说明
图1为本发明实施例提供的一种数据连接的方法的流程示意图;
图2为本发明实施例提供的一种移动终端的结构示意图;
图3为本发明实施例提供的一种移动终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
为了便于理解,首先介绍本发明实施例的一种应用场景。该数据连接的方法可应用于移动终端,本发明实施例中提及的移动终端包括但不限于:智能手机(如Android手机、IOS手机)、平板电脑、笔记本电脑、掌上电脑、穿戴式智能设备等电子设备。此处不对移动终端的具体类型进行特别限制。
上述移动终端所安装的应用程序与目标服务器之间可能存在长连接任务,那么在对应用程序进行开发时,通常会加入重连接功能。针对多个可能具有长连接任务的应用程序而言,就需要为每个应用程序加入重连接功能,从而导致开发过程较为繁琐,重连接功能的复用性较差。
鉴于此,本发明实施例中提供了一种数据连接的方法,该方法中将重连接功能集成于代理应用中,一旦确定用户创建了应用程序与目标服务器之间的长连接任务,就可以基于代理应用建立应用程序与目标服务器之间的通信连接,从而使上述长连接任务可以被执行。并且一旦通信连接发生中断,代理应用还可以利用自身的重连接功能重新建立应用程序与目标服务器之间的通信连接,避免了针对每个应用程序单独开发重连接功能,从而提高重连接功能的复用性。
下面结合附图对本发明实施例提供的技术方案进行介绍。请参见图1,本发明提供了一种数据连接的方法,该方法的流程描述如下:
步骤101:若检测到用户针对第一应用的第一操作指令,则代理应用建立第一应用与第一目标服务器的通信连接,第一操作指令用于创建第一应用与第一目标服务器之间的长连接任务,长连接任务基于通信连接被执行。
本发明实施例中,移动终端可以认为安装有多个应用,例如,该多个应用可以包括QQ、微信、抖音以及应用商店等,此处不对移动终端中所安装的应用的具体类型进行限定。移动终端还集成有代理应用,该代理应用可以认为是移动终端中新增的功能模块,该代理应用可以监听移动终端反馈的网络事件,例如,网络事件可以包括网络已连接,网络已断开或者其他类型的网络事件,此处不对网络事件的具体类型进行特别限制。同时该代理应用还具有重连接功能,即上述多个应用的重连接都可以通过代理应用来实现。
第一应用可以认为是上述多个应用中的任意一个应用,第一目标服务器则为第一应用在执行任务时需要访问的目标服务器。对于第一应用而言,它的部分任务可能要求自身与第一目标服务器建立稳定的长连接,而其他的任务则无需要求自身与第一目标服务器建立稳定的长连接。同时由于第一应用与第一目标服务器之间的通信连接容易受到网络波动的影响,因此,若要求在第一应用与第一目标服务器之间建立较为稳定的长连接,则需要为第一应用与第一目标服务器之间的通信连接配置重连接功能,即可以通过代理应用来维护第一应用与第一目标服务器之间的通信连接。反之,若不要求第一应用与第一目标服务器之间建立较为稳定的长连接,则无需为第一应用与第一目标服务器之间的通信连接配置重连接功能,即无需通过代理应用来维护第一应用与第一目标服务器之间的通信连接。因此本发明实施例中,可以根据当前第一应用所执行的任务类型来确定是否需要通过代理应用来维护第一应用与第一目标服务器之间的通信连接。
作为一种可能的实施方式,可以检测到用户针对第一应用的第一操作指令,若该第一操作指令是用于创建第一应用与第一目标服务器之间的长连接任务,则可以通过代理应用来建立第一应用与第一目标服务器之间的通信连接,使得上述长连接任务可以基于上述通信连接被执行。
例如,第一应用为微信,微信中较为常用的功能包括输入文字聊天以及视频聊天。输入文字聊天对实时性的要求较低,这就意味着微信在执行文字聊天任务时不需要时刻保持与目标服务器的通信连接;而视频聊天对于实时性的要求较高,这就意味着微信在执行视频聊天任务时需要时刻保持与目标服务器的通信连接。因此,当微信检测到用户的第一操作指令时,例如第一操作指令用于创建视频聊天任务,那么微信就可以通过代理应用来实现与目标服务器的通信连接,以便于当微信与目标服务器因网络中断而断开连接时,可以利用代理应用所具有的重连接功能,重新建立与目标服务器的通信连接。
本发明实施例中,在基于代理应用建立第一应用与第一目标服务器之间的通信连接时,仍然需要保证第一应用能够正常访问第一目标服务器,因此,可以将代理应用设置于第一应用与第一目标服务器之间,即第一应用通过代理应用实现对第一目标服务器的间接访问。
作为一种可能的实施方式,可以建立第一应用与代理应用之间的第一网络通信连接以及建立代理应用与第一目标服务器之间的第二网络通信连接。由于第一应用与代理应用都位于移动终端内部,因此第一网络通信连接可以认为是本地通信;而第一目标服务器为远程服务器,因此第二网络通信连接可以认为是外网通信。下面针对建立第一网络通信连接与第二网络通信连接的过程进行介绍。
第一、建立第一网络通信连接。具体的,在建立第一应用与代理应用之间的通信连接时,可以建立第一应用的第一通信端点与代理应用的第一通信端点之间的通信连接。
例如,第一应用的第一通信端点可以创建第一套接字,并向代理应用的第一通信端点发送该第一套接字,代理应用的第一通信端点在接收到第一套接字之后,就可以根据第一套接字与第一应用的第一通信端点建立连接。由于第一应用的第一通信端点为通信连接请求的发起方,而代理应用的第一通信端点为通信连接请求的接收方,因此可以认为当第一应用的第一通信端点向代理应用的第一通信端点发送第一套接字之前,代理应用的第一通信端点的属性信息中所包含的IP地址与端口号是已知的且为固定值,例如,IP地址为127.0.0.1,端口号为1080。并且由于第一网络通信连接为本地通信方式,因此可以将第一应用的第一通信端点所对应的属性信息中所包含的IP地址配置为上述固定IP地址,第一应用的第一通信端点的属性信息中所包含的端口号则为移动终端对应的操作系统分配。应理解,第一应用的第一通信端点的属性信息中的端口号只需要满足与已使用的端口号不重复即可。由于第一应用的第一通信端点与代理应用的第一通信端点所对应的IP地址相同,那么可以认为第一应用与代理应用之间可以建立较为稳定的本地通信连接。
第二、建立第二网络通信连接。具体的,在建立代理应用与第一目标服务器之间的通信连接时,可以建立代理应用的第二通信端点与第一目标服务器的第一通信端点之间的通信连接。
例如,代理应用的第二通信端点可以创建第二套接字,并向第一目标服务器的第一通信端点发送该第二套接字,第一目标服务器的第一通信端点在接收到第二套接字之后,就可以根据第一套接字与代理应用的第二通信端点建立连接。由于代理应用的第二通信端点为通信连接请求的发起方,而第一目标服务器的第一通信端点为通信连接请求的接收方,因此可以认为当代理应用的第二通信端点向第一目标服务器的第一通信端点发送第二套接字之前,第一目标服务器的第一通信端点的属性信息中所包含的IP地址与端口号是已知的且为固定值,例如,IP地址为182.254.63.255,端口号为1025。应理解,对于第一应用而言,需要进行通信连接的第一目标服务器的第一通信端点的属性信息是已知的,因此可以认为在第一应用的第一通信端点向代理应用的第一通信端点发送第一套接字的同时,也向代理应用的第一通信端点发送了第一目标服务器的第一通信端点的属性信息,因此对于代理应用而言,第一目标服务器的第一通信端点的属性信息是已知的。而代理应用的第二通信端点的属性信息中所包含的IP地址与移动终端在当前网络中被分配的IP地址相一致,代理应用的第二通信端点的属性信息中所包含的端口号由移动终端的操作系统分配且与第一应用相对应。应理解,代理应用的第二通信端点的属性信息中的端口号与特定的应用相对应,且不同的应用所对应的端口号不相同。由于代理应用的第二通信端点的属性信息是可变的,只要当前移动终端所在的环境中存在可用的网络,就可以确定代理应用的第二通信端点所对应的属性信息,那么代理应用就可以建立自身与第一目标服务器之间的网络通信连接。
应理解,第一网络通信连接与第二网络通信连接可以是基于传输控制协议(Transmission Control Protocol,TCP)所建立的网络通信连接,也可以是基于其他类型的通信协议所建立的网络通信连接,此处不对建立第一网络通信连接与第二网络通信连接所使用的通信协议进行特别限制。同时第一应用与代理应用之间以及代理应用与第一目标服务器之间可能因长连接任务需要而建立多个网络通信连接,此处不对所建立的网络通信连接的数量进行特别限制。
本发明实施例中,在分别建立第一网络通信连接与第二网络通信连接之后,可以对第一网络通信连接与第二网络通信连接之间是否可以交换数据进行验证,从而确定第一应用与第一目标服务器之间建立的通信连接是否正常。
作为一种可能的实施方式,若从第一应用的第一通信端点读取的数据,可以写入到代理应用的第二通信端点且保持不变,以及从代理应用的第二通信端点读取的数据,可以写入到第一应用的第一通信端点且保持不变,则表明第一网络通信连接与第二网络通信连接之间可以成功进行数据交换,也就是说,基于代理应用成功建立了第一应用与第一目标服务器之间的通信连接。
步骤102:若监听到中断通信连接的事件,则代理应用基于移动终端所支持的备用网络重新建立第一应用与第一目标服务器之间的通信连接,以完成长连接任务。
本发明实施例中,在基于第一应用与第一目标服务器之间的通信连接执行长连接任务的过程中,移动终端所在的网络可能发生变化,例如,移动终端所在的网络突然发生中断,那么第一应用与第一目标服务器之间的长连接任务也会被中断。此时可以认为长连接任务并未执行完毕,因此为了能够继续执行长连接任务,可以利用代理应用的重连接功能重新建立第一应用与第一目标服务器之间的通信连接。
作为一种可能的实施方式,当移动终端当前所使用的网络发生中断时,移动终端可以向代理应用反馈网络已断开的事件,代理应用在监听到移动终端反馈的上述事件之后,可以查询移动终端是否存在备用网络,即除了已断开的网络以外,是否还存在其他可使用的网络。若存在备用网络,那么代理应用就可以基于备用网络重新建立第一应用与第一目标服务器之间的通信连接,从而使长连接任务可以继续执行,直到完成长连接任务。若不存在备用网络,那么代理应用就无法立刻重新建立第一应用与第一目标服务器之间的通信连接。此时代理应用将继续监听移动终端反馈的下一个网络事件,若下一个网络事件指示的是网络已恢复,那么代理应用就可以基于恢复后的网络重新建立第一应用与第一目标服务器之间的通信连接,使得被中断的长连接仍然可以继续被执行,直到长连接任务完成为止。
例如,第一种情况,移动终端所在的环境中存在两种类型的网络,该两种类型的网络可以为第四代移动通信(4G)网络与无线保真(WIFI)网络,通常情况下,移动终端会优先使用WIFI网络,即代理应用基于WIFI网络来建立第一应用与第一目标服务器之间的通信连接。由于第一应用与代理应用之间的第一网络通信连接实际上为本地通信,因此第一网络通信连接可以认为不需要依赖于WIFI网络;而代理应用与第一目标服务器之间的第二网络通信连接实际上为外网通信,因此第二网络通信连接可以认为是基于WIFI网络建立的。一旦代理应用监听到WIFI网络出现了中断,那么可以认为第一网络通信连接保持正常,而第二网络通信连接已经断开。此时代理应用可以查询移动终端所支持的备用网络,例如4G网络,从而可以基于4G网络重新建立第一应用与第一目标服务器之间的通信连接,即基于4G网络重新建立第二网络通信连接。
又例如,第二种情况,移动终端所在的环境中仅存在WIFI网络,即第二网络通信连接可以认为是基于WIFI网络建立的。一旦代理应用监听到WIFI网络出现了中断,那么可以认为第一网络通信连接保持正常,而第二网络通信连接已经断开。并且经过查询移动终端并不存在备用网络,此时代理应用可以清除已断开的第二网络通信连接所使用的资源,例如移动终端的操作系统为建立第二网络通信连接时所分配的端口号等,并且只能继续监听移动终端反馈的下一个网络事件,若下一个网络事件指示WIFI网络重新恢复,那么就可以基于恢复后的WIFI网络重新建立第一应用与第一目标服务器之间的通信连接,即基于恢复后的WIFI网络重新建立第二网络通信连接。
应理解,重新建立第二网络通信连接的过程与初次建立第二网络通信连接的过程相同,不同之处仅在于,第一种情况下代理应用的第二通信端点的属性信息中所包含的IP地址与初次连接时不相同,而端口号可以保持不变;第二种情况下代理应用的第二通信端点的属性信息中所包含的IP地址与端口号和初次连接时可能都不相同,此处不再赘述。同时,在重新建立第二网络通信连接之后,仍然需要验证第一网络通信连接与第二网络通信连接之间的数据是否可以正常交换,具体验证过程可以参照步骤101中所记载的内容,此处也不再赘述。
本发明实施例中,在第一应用与第一目标服务器之间的长连接任务执行完毕之后,第一应用或第一目标服务器任意一端都可以主动发起断开两者之间的通信连接。例如,第一应用与第一目标服务器之间是基于TCP所建立的通信连接,那么在需要断开时,第一应用或第一目标服务器都可以按照断开TCP连接的规则进行断开任务,本部分为现有技术此处不再赘述。
请参见图2,基于同一发明构思,本发明实施例提供了一种移动终端,该移动终端安装有多个应用且集成有代理应用,代理应用用于监听移动终端反馈的网络事件,针对多个应用中的第一应用,该移动终端包括:第一连接单元201与第二连接单元202。
第一连接单元201,用于当检测到用户针对第一应用的第一操作指令时,则建立第一应用与第一目标服务器的通信连接,第一操作指令用于创建第一应用与第一目标服务器之间的长连接任务,长连接任务基于通信连接被执行;
第二连接单元202,用于当监听到中断通信连接的事件时,则基于移动终端所支持的备用网络重新建立第一应用与第一目标服务器之间的通信连接,以完成长连接任务。
可选的,该移动终端还包括:
监听单元,用于当确定不存在备用网络时,则监听下一个网络事件;
第三连接单元,用于当监听到下一个网络事件指示网络恢复,则基于恢复后的网络重新建立第一应用与第一目标服务器之间的通信连接。
可选的,第一连接单元201具体用于:
建立第一应用与代理应用之间的第一网络通信连接以及建立代理应用与第一目标服务器之间的第二网络通信连接,第一网络通信连接的类型为本地通信,第二网络通信连接的类型为外网通信。
可选的,第一连接单元201具体还用于:
接收由第一应用的第一通信端点创建的第一套接字,代理应用的第一通信端点的属性信息包括第一固定IP地址以及第一固定端口号,第一应用的第一通信端点所对应的属性信息中所包含的IP地址被配置为与第一固定IP地址相同;
基于第一套接字建立与第一应用的第一通信端点的网络通信连接。
可选的,第一连接单元201具体还用于:
创建第二套接字,并向第一目标服务器的第一通信端点发送所述第二套接字,以使第一目标服务器的第一通信端点与代理应用的第二通信端点建立网络通信连接,第一目标服务器的第一通信端点的属性信息为第一应用的第一通信端点向代理应用的第一通信端点发送的,第一目标服务器的第一通信端点的属性信息包括第二固定IP地址以及第二固定端口号,代理应用的第二通信端点的属性信息中所包含的IP地址与移动终端在当前网络中被分配的IP地址相一致。
请参见图3,基于同一发明构思,本发明实施例提供了一种移动终端,该移动终端包括至少一个处理器301,处理器301用于执行存储器中存储的计算机程序,实现本发明实施例提供的如图1所示的数据连接的方法的步骤。
可选的,处理器301具体可以是中央处理器、特定ASIC,可以是一个或多个用于控制程序执行的集成电路。
可选的,该移动终端还可以包括与至少一个处理器301连接的存储器302,存储器302可以包括ROM、RAM和磁盘存储器。存储器302用于存储处理器301运行时所需的数据,即存储有可被至少一个处理器301执行的指令,至少一个处理器301通过执行存储器302存储的指令,执行如图1所示的方法。其中,存储器302的数量为一个或多个。其中,存储器302在图3中一并示出,但需要知道的是存储器302不是必选的功能模块,因此在图3中以虚线示出。
其中,第一连接单元201与第二连接单元202所对应的实体设备均可以是前述的处理器301。该移动终端可以用于执行图1所示的实施例提供的方法。因此关于该移动终端中各功能模块所能够实现的功能,可参考图1所示的实施例中的相应描述,不多赘述。
本发明实施例还提供一种计算机存储介质,其中,计算机存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图1所述的方法。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种数据连接的方法,其特征在于,应用于移动终端,所述移动终端安装有多个应用且集成有代理应用,所述代理应用用于监听所述移动终端反馈的网络事件,针对所述多个应用中的第一应用,所述方法包括:
检测到用户针对所述第一应用的第一操作指令,且所述第一操作指令是要求创建所述第一应用与第一目标服务器之间稳定的长连接任务时,则所述代理应用建立所述第一应用与所述第一目标服务器的通信连接,以使得所述长连接任务基于所述通信连接被执行;所述代理应用建立的所述通信连接包括建立所述第一应用与所述代理应用之间的第一网络通信连接,以及,建立所述代理应用与所述第一目标服务器之间的第二网络通信连接,所述第一网络通信连接的类型为本地通信,所述第二网络通信连接的类型为外网通信;
若监听到中断所述通信连接的事件,则所述代理应用保持与所述第一应用建立的所述第一网络通信连接,基于所述移动终端所支持的备用网络重新建立所述代理应用与所述第一目标服务器之间的第二网络通信连接,以完成所述长连接任务。
2.如权利要求1所述的方法,其特征在于,还包括:
若确定不存在所述备用网络,则所述代理应用监听下一个网络事件;
若监听到所述下一个网络事件指示网络恢复,则所述代理应用基于恢复后的网络重新建立所述第一应用与所述第一目标服务器之间的通信连接。
3.如权利要求2所述的方法,其特征在于,建立所述第一应用与所述代理应用之间的第一网络通信连接包括:
所述代理应用的第一通信端点接收由所述第一应用的第一通信端点创建的第一套接字,所述代理应用的第一通信端点的属性信息包括第一固定IP地址以及第一固定端口号,所述第一应用的第一通信端点所对应的属性信息中所包含的IP地址被配置为与所述第一固定IP地址相同;
所述代理应用的第一通信端点基于所述第一套接字建立与所述第一应用的第一通信端点的网络通信连接。
4.如权利要求3所述的方法,其特征在于,建立所述代理应用与所述第一目标服务器之间的第二网络通信连接包括:
所述代理应用的第二通信端点创建第二套接字,并向所述第一目标服务器的第一通信端点发送所述第二套接字,以使所述第一目标服务器的第一通信端点与所述代理应用的第二通信端点建立网络通信连接,所述第一目标服务器的第一通信端点的属性信息为所述第一应用的第一通信端点向所述代理应用的第一通信端点发送的,所述第一目标服务器的第一通信端点的属性信息包括第二固定IP地址以及第二固定端口号,所述代理应用的第二通信端点的属性信息中所包含的IP地址与所述移动终端在当前网络中被分配的IP地址相一致。
5.一种移动终端,其特征在于,应用于移动终端,所述移动终端安装有多个应用且集成有代理应用,所述代理应用用于监听所述移动终端反馈的网络事件,针对所述多个应用中的第一应用,所述移动终端包括:
第一连接单元,用于当检测到用户针对所述第一应用的第一操作指令,且所述第一操作指令是要求创建所述第一应用与第一目标服务器之间稳定的长连接任务时,建立所述第一应用与第一目标服务器的通信连接,以使得所述长连接任务基于所述通信连接被执行;所述代理应用建立的所述通信连接包括建立所述第一应用与所述代理应用之间的第一网络通信连接,以及,建立所述代理应用与所述第一目标服务器之间的第二网络通信连接,所述第一网络通信连接的类型为本地通信,所述第二网络通信连接的类型为外网通信;
第二连接单元,用于当监听到中断所述通信连接的事件,则所述代理应用保持与所述第一应用建立的所述第一网络通信连接,基于所述移动终端所支持的备用网络重新建立所述代理应用与所述第一目标服务器之间的第二网络通信连接,以完成所述长连接任务。
6.如权利要求5所述的移动终端,其特征在于,还包括:
监听单元,用于当确定不存在所述备用网络,则监听下一个网络事件;
第三连接单元,用于当监听到所述下一个网络事件指示网络恢复,则基于恢复后的网络重新建立所述第一应用与所述第一目标服务器之间的通信连接。
7.一种移动终端,其特征在于,所述移动终端包括至少一个处理器以及与所述至少一个处理器连接的存储器,所述至少一个处理器用于执行存储器中存储的计算机程序时实现如权利要求1-4任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行是实现如权利要求1-4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011237937.2A CN112491810B (zh) | 2020-11-09 | 2020-11-09 | 一种数据连接的方法及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011237937.2A CN112491810B (zh) | 2020-11-09 | 2020-11-09 | 一种数据连接的方法及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112491810A CN112491810A (zh) | 2021-03-12 |
CN112491810B true CN112491810B (zh) | 2021-09-21 |
Family
ID=74929200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011237937.2A Active CN112491810B (zh) | 2020-11-09 | 2020-11-09 | 一种数据连接的方法及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112491810B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257569A (zh) * | 2021-11-30 | 2022-03-29 | 珠海大横琴科技发展有限公司 | 一种远程会议的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893129A (zh) * | 2016-03-30 | 2016-08-24 | 北京小米移动软件有限公司 | 终端中应用程序的处理方法及装置 |
CN107484232A (zh) * | 2017-08-21 | 2017-12-15 | 奇酷互联网络科技(深圳)有限公司 | 消息发送方法、系统、网络设备和可读存储介质 |
CN108419279A (zh) * | 2018-02-08 | 2018-08-17 | 四川速宝网络科技有限公司 | 网络切换系统 |
CN108512743A (zh) * | 2018-03-06 | 2018-09-07 | 北京奇艺世纪科技有限公司 | 局域网即时通信服务方法、装置以及电子设备 |
CN110740131A (zh) * | 2019-09-30 | 2020-01-31 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194327A1 (en) * | 2001-06-14 | 2002-12-19 | International Business Machines Corporation | Method for sensing the status of a client from a server |
US20100274922A1 (en) * | 2009-03-31 | 2010-10-28 | Reavely Simon | System and method for managing long lived connections from a plurality of applications running on a wireless device |
CN102724716B (zh) * | 2012-05-29 | 2015-01-14 | 清华大学 | 基于Proxy代理服务器的长连接方法 |
-
2020
- 2020-11-09 CN CN202011237937.2A patent/CN112491810B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893129A (zh) * | 2016-03-30 | 2016-08-24 | 北京小米移动软件有限公司 | 终端中应用程序的处理方法及装置 |
CN107484232A (zh) * | 2017-08-21 | 2017-12-15 | 奇酷互联网络科技(深圳)有限公司 | 消息发送方法、系统、网络设备和可读存储介质 |
CN108419279A (zh) * | 2018-02-08 | 2018-08-17 | 四川速宝网络科技有限公司 | 网络切换系统 |
CN108512743A (zh) * | 2018-03-06 | 2018-09-07 | 北京奇艺世纪科技有限公司 | 局域网即时通信服务方法、装置以及电子设备 |
CN110740131A (zh) * | 2019-09-30 | 2020-01-31 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112491810A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110266810B (zh) | 基于mqtt协议的消息接收方法、设备及存储介质 | |
CN107135279B (zh) | 一种处理长连接建立请求的方法和装置 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN112416863B (zh) | 数据存储方法及缓存服务器 | |
CN112398689A (zh) | 网络恢复方法、装置、存储介质及电子设备 | |
CN112445533A (zh) | 一种复位pcie设备的方法、系统、设备及介质 | |
CN112491810B (zh) | 一种数据连接的方法及移动终端 | |
CN113114778A (zh) | 一种数据传输方法、装置、电子设备以及存储介质 | |
CN111666167A (zh) | 一种对输入事件读取处理优化方法、非易失性存储器及终端设备 | |
WO2016119329A1 (zh) | 终端的控制方法、终端的控制装置和终端 | |
CN108075947B (zh) | 存储设备、pc端、通信连接连通性的维护方法及系统 | |
WO2024103943A1 (zh) | 一种业务处理方法、装置、存储介质及设备 | |
US11973824B2 (en) | Method for data transmission of audio and video in end-to-end system | |
US20130097228A1 (en) | Network storage system, data manipulation method in network storage system, storage device and computer program product for controlling client device | |
CN113946376B (zh) | 负载调整方法、装置、电子设备及存储介质 | |
CN113596197B (zh) | 一种地址切换方法、装置、电子设备及存储介质 | |
CN114553936B (zh) | 连接方法、装置、电子设备和计算机可读存储介质 | |
KR100524588B1 (ko) | 무선인터넷에서 다운로드 중단된 데이터를 이어받는 방법 | |
CN103841085A (zh) | 基于万维网的实时通信的实现方法及装置 | |
CN108307542B (zh) | 智能电视在更换蓝牙适配器时回连蓝牙外设的方法和装置 | |
CN111800433A (zh) | 节省服务器资源和终端流量的方法 | |
CN109981717A (zh) | 一种连接优化方法、装置及计算机存储介质 | |
CN111258739A (zh) | 一种服务器进程更新方法、装置、服务器和介质 | |
CN112311671A (zh) | 向交换芯片下发聚合链路配置的方法、装置、介质及设备 | |
WO2022036722A1 (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 |