CN113489786B - 一种长连接网络弱网重连方法、重发方法 - Google Patents
一种长连接网络弱网重连方法、重发方法 Download PDFInfo
- Publication number
- CN113489786B CN113489786B CN202110760713.8A CN202110760713A CN113489786B CN 113489786 B CN113489786 B CN 113489786B CN 202110760713 A CN202110760713 A CN 202110760713A CN 113489786 B CN113489786 B CN 113489786B
- Authority
- CN
- China
- Prior art keywords
- request
- message
- request message
- client
- push
- 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 50
- 230000004044 response Effects 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 36
- 230000008859 change Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/50—Network services
- H04L67/55—Push-based network services
-
- 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/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种长连接网络弱网重连方法、重发方法,包括:根据客户端的请求消息对应的请求标识的顺序处理请求消息;当接收到的客户端的请求消息对应的请求标识与上一请求消息对应的请求标识不连续时,将请求标识对应的请求消息缓存;当继续接收的客户端的请求消息对应的请求标识与缓存的请求消息对应的请求标识连续时,在处理完当前请求消息后,获取缓存的请求消息并进行处理。服务器向客户端发送推送请求消息,将推送请求消息缓存;当在第一预设时长内没有接收到客户端返回的推送响应消息时,根据缓存的推送请求消息重新发送。本发明方案解决了长连接手游项目各种场景下的弱网问题,保障了用户的游戏体验。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种长连接网络弱网重连方法、重发方法。
背景技术
随着智能手机的迅速普及,与网络的快速发展,移动互联网的相关业务已逐渐成为国内各厂商关注的焦点。从整体行业来看,中国***行业处于快速发展期。近年来,在电信运营商和***开发商的联合推动下,中国的***行业,取得了较快的发展。随着互动娱乐技术的发展,各种类型的互动游戏类应用得到了极大的发展,存在着多种游戏类型与游戏控制方式,游戏的形式也从电脑或游戏机向***方面过度。
长连接通常是指客户端和服务器端数据通信时复用同一个连接,客户端和服务器都可以收发数据(双向),通常用在交互性比较强的业务场景下。传统的PC端因为网络环境相对较好,所以很少会有弱网相关处理。但是到了移动端,因为移动网络环境的差异,比如在地铁中、电梯中,弱网问题被放大。对于长连接手游而言,弱网问题相对比较突出。一是长连接手游通常实时交互性比较强,弱网对体验影响较大,二是长连接是双向通信,弱网场景较复杂,所以需要一套相对完善的解决方案。
关于弱网,移动端App(application,应用程序)因为大多基于http请求-响应模型,而且服务器是无状态的。所以大多出现弱网时,客户端请求重发或者通过缓存请求到队列的方式顺序处理来解决,即主要由客户端处理。对于长连接手游项目而言,不仅仅是包括请求-响应模型,还包括服务器推送等场景,传统方案无法解决其它场景或者混合场景的弱网问题。长连接手游服务器通常是有状态的,客户端单纯的重发,服务器会二次处理,对业务会产生影响(http服务器因为是无状态的,所以可以多次处理-幂等)。
因而,亟需要一种适合长连接手游项目的弱网解决方案,解决现有技术中常见的弱网状态导致的游戏体验问题。
发明内容
本发明提供一种长连接网络弱网重连方法、重发方法,解决现有技术中常见的弱网状态导致的游戏体验问题。
根据本发明的一个方面,提供一种长连接网络弱网重连方法,包括:
根据所述客户端的请求消息对应的请求标识的顺序处理所述请求消息;
当接收到的所述客户端的请求消息对应的请求标识与上一请求消息对应的请求标识不连续时,将所述请求标识对应的请求消息缓存;并继续接收所述客户端的请求消息;
当继续接收的所述客户端的请求消息对应的请求标识与缓存的所述请求消息对应的请求标识连续时,在处理完当前所述请求消息后,获取缓存的所述请求消息并进行处理。
所述方法还包括:
当处理完当前的请求消息后,当确定缓存的请求消息对应的请求标识与当前处理的请求消息对应的请求标识连续时,按照请求标识的顺序处理缓存的请求消息与当前的请求消息。
所述方法还包括:
当若干个请求消息对应的请求标识均不连续时,则在接收到完整连续的请求标识对应的请求消息后,再根据请求标识的顺序逐一处理对应的请求消息。
所述方法还包括:
当接收到的请求消息对应的请求标识与上一个请求消息对应的请求标识间缺失若干个请求消息对应的请求标识时,缓存当前请求消息;并继续接收请求消息,直到所有缺失的若干个请求消息均接收到后,再根据请求标识的顺序逐一处理对应的请求消息。
所述方法还包括:
服务器根据客户端的请求标识将客户端请求消息对应的响应消息返回后,将所述响应消息缓存;
当再次接收到所述客户端的请求标识对应的请求消息时,根据缓存的响应消息返回所述客户端。
所述方法还包括:
当所述客户端的同一个业务请求包括多个请求消息时,所述业务请求包括的请求消息根据对应的请求标识的顺序逐一处理并将对应的响应消息缓存;
将缓存的所述响应消息根据对应的请求标识组合为一条组合响应消息后,返回客户端。
根据本发明的另一个方面,提供了一种长连接网络弱网重发方法,所述方法包括:
服务器向客户端发送推送请求消息,将所述推送请求消息缓存;
当在第一预设时长内没有接收到客户端返回的推送响应消息时,根据所述缓存的推送请求消息重新发送。
所述方法还包括:
当接收到服务器返回的推送响应消息时,将推送响应消息对应的推送请求消息从缓存中删除。
所述方法还包括:
以第二预设时长为周期检测缓存中的推送响应消息,将超过第二预设时长仍缓存的所述推送请求消息重发。
所述方法还包括:
所述推送请求消息仅包含相应的数据改变信息;
所述客户端在接收到所述数据改变信息后,向服务器发送请求响应消息获取所述数据改变信息对应的数据变化具体内容。
采用上述方案的有益效果是:
根据所述客户端的请求消息对应的请求标识的顺序处理所述请求消息;当接收到的所述客户端的请求消息对应的请求标识与上一请求消息对应的请求标识不连续时,将所述请求标识对应的请求消息缓存;并继续接收所述客户端的请求消息;当继续接收的所述客户端的请求消息对应的请求标识与缓存的所述请求消息对应的请求标识连续时,在处理完当前所述请求消息后,获取缓存的所述请求消息并进行处理。服务器向客户端发送推送请求消息,将所述推送请求消息缓存;当在第一预设时长内没有接收到客户端返回的推送响应消息时,根据所述缓存的推送请求消息重新发送。本发明方案中,采用了客户端按照请求标识的顺序请求/重发、服务器端缓存响应消息、合并同一个请求的多个响应包、服务器端实现请求消息缓存保证按照序列号顺序处理等多种方案,解决了长连接手游项目各种场景下的弱网问题,保障了用户的游戏体验。
附图说明
图1为本发明实施例提供的一种长连接网络弱网重连方法原理流程图。
图2是本发明实施例提供的一种长连接网络弱网重发方法原理流程图。
图3为本发明一个实施例提供的针对请求响应模型的弱网处理消息交互示意图。
图4为本发明一个实施例提供的针对推送模型的弱网处理消息交互示意图。
图5为本发明一个实施例提供的针对复合场景的弱网处理消息交互示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
由于手机网络环境的不稳定因素(主要是网络抖动、延时等网络场景),会出现客户端发送的上行包丢失或者服务器端发送的下行包丢失,如果没有弱网处理,可能会引起客户端的表现异常。
本发明为了应对长连接手游不同的业务场景,定义和实现了三种通信模型。分别是Request-Response模型、Notify模型和Push模型,用在数据交互阶段。
Request-Response(请求响应模型):客户端发送Request(客户端向服务器端发送的上行请求)请求,携带requestId(请求-响应模式中客户端请求中携带的请求标识id),服务器端必须做出响应,回复对应的Response(服务器端返回客户端请求对应的下行响应)消息。否则客户端会进行重试。
Notify(通知模型):可以客户端发送给服务器,也可以服务器发给客户端,对方无需做出响应。
Push模型(推送模型):服务器端发送给客户端的推送,需要客户端发送PushSuccess(客户端确认收到Push消息后给服务器端回复的确认消息)确认消息,否则会进行重试
例如,手游中常见的UI操作,可以使用请求响应模型。手游中的角色场景移动操作,比较适合Notify模型。手游中的服务器玩家定时回复体力等类似操作比较适合Push模型。
以下结合附图对本发明进一步说明。
如图1所示,为本发明的实施例1提供的长连接网络弱网重连方法原理流程图,具体如下:
步骤11,根据所述客户端的请求消息对应的请求标识的顺序处理所述请求消息。
本实施例中,服务器根据客户端发送的请求消息的顺序来处理请求。请求消息的顺序是由请求消息携带的请求标识(requestId)来确定的。每次客户端发上行包都需要携带requestId,同时将请求压入队列顺序请求。
当客户端的请求出现超时(上行包丢失或者下行包丢失)会使用同样的requestId请求重试,即request1对应的响应包如果没有收到,是不会尝试发送request2,会一直重试request1。
客户端的请求必须连续。
某些特殊场景下,客户端会出现前1个请求没有收到就要发下一个请求的情况。在这种情况下,客户端的请求发送可能不再是连续的。例如,客户端发送请求1,但上行包因为弱网问题丢失,在某些场景下客户端会发送请求2,而没有一直重新请求1。
步骤12,当接收到的所述客户端的请求消息对应的请求标识与上一请求消息对应的请求标识不连续时,将所述请求标识对应的请求消息缓存;并继续接收所述客户端的请求消息。
本实施例中,服务器处理完请求消息后,会将响应消息加入到和requestId对应的缓存。客户端会携带已经收到的最大响应Id,用于通知服务器端删除对应的缓存。当客户端用requestId重试时,服务器直接返回缓存对应的响应消息,不再重复处理请求。
当服务器检测到请求不是连续的时候,会直接将当前请求加到请求缓存内,而不是直接处理。直到收到正确的请求id时再依次顺序处理。即服务器端保证了处理顺序是按照请求序号处理,而不是按照收到的顺序处理。
步骤13,当继续接收的所述客户端的请求消息对应的请求标识与缓存的所述请求消息对应的请求标识连续时,在处理完当前所述请求消息后,获取缓存的所述请求消息并进行处理。
本实施例中,只有当继续接收到的客户端的请求消息的请求标识ID是连续时才会按照顺序处理客户端的请求消息,否则都是仅存放在缓存中。同时,服务器在处理客户端的请求时,也会关注当前处理的请求对应的请求标识是否与缓存中的请求标识连续,如果是的话,则在处理完当前请求后,直接处理缓存中的请求。
本实施例中,当处理完当前的请求消息后,当确定缓存的请求消息对应的请求标识与当前处理的请求消息对应的请求标识连续时,按照请求标识的顺序处理缓存的请求消息与当前的请求消息。
本实施例中,当若干个请求消息对应的请求标识均不连续时,则在接收到完整连续的请求标识对应的请求消息后,再根据请求标识的顺序逐一处理对应的请求消息。
本实施例中,当接收到的请求消息对应的请求标识与上一个请求消息对应的请求标识间缺失若干个请求消息对应的请求标识时,缓存当前请求消息;并继续接收请求消息,直到所有缺失的若干个请求消息均接收到后,再根据请求标识的顺序逐一处理对应的请求消息。
本实施例中,服务器根据客户端的请求标识将客户端请求消息对应的响应消息返回后,将所述响应消息缓存;
当再次接收到所述客户端的请求标识对应的请求消息时,根据缓存的响应消息返回所述客户端。
本实施例中,当所述客户端的同一个业务请求包括多个请求消息时,所述业务请求包括的请求消息根据对应的请求标识的顺序逐一处理并将对应的响应消息缓存;
将缓存的所述响应消息根据对应的请求标识组合为一条组合响应消息后,返回客户端。
本发明实施例中,根据所述客户端的请求消息对应的请求标识的顺序处理所述请求消息;当接收到的所述客户端的请求消息对应的请求标识与上一请求消息对应的请求标识不连续时,将所述请求标识对应的请求消息缓存;并继续接收所述客户端的请求消息;当继续接收的所述客户端的请求消息对应的请求标识与缓存的所述请求消息对应的请求标识连续时,在处理完当前所述请求消息后,获取缓存的所述请求消息并进行处理。本发明方案中,采用了客户端按照请求标识的顺序请求/重发、服务器端缓存响应消息、合并同一个请求的多个响应包、服务器端实现请求消息缓存保证按照序列号顺序处理等多种方案,解决了长连接手游项目请求-响应场景下的弱网问题,保障了用户的游戏体验。
如图2所示,为本发明实施例2提供的一种长连接网络弱网重发方法,其中,
步骤21,服务器向客户端发送推送请求消息,将所述推送请求消息缓存。
本实施例中,服务器所有的推送请求携带推送请求消息pushRequestId,同时将该推送请求消息加入推送缓存。
向客户端发送推送消息,正常情况下,客户端如果收到,需要回复PushSuccess确认已经收到。服务器端收到PushSuccess后,根据pushRequestId将之前的推送请求消息从缓存移除。
步骤22,当在第一预设时长内没有接收到客户端返回的推送响应消息时,根据所述缓存的推送请求消息重新发送。
本实施例中,如果客户端未回复PushSuccess,表明可能发生了弱网,出现了丢包。也即,如果在一个设定的时长内没有接收到客户端返回的推送响应消息PushSuccess,则服务器根据缓存中的推送请求消息再次发送,等待客户端的回应。
本实施例中,服务器还可以启动一个定时器,按照配置的间隔时间(第一预设时长)定期检查推送缓存的消息并尝试重发。配置了推送消息的过期时间,避免推送缓存过大。
本实施例中,当接收到服务器返回的推送响应消息时,将推送响应消息对应的推送请求消息从缓存中删除。
本实施例中,以第二预设时长为周期检测缓存中的推送响应消息,将超过第二预设时长仍缓存的所述推送请求消息重发。
本实施例中,所述推送请求消息仅包含相应的数据改变信息;
所述客户端在接收到所述数据改变信息后,向服务器发送请求响应消息获取所述数据改变信息对应的数据变化具体内容。
本发明方案中,针对推送模型的弱网处理,服务器向客户端发送推送请求消息,将所述推送请求消息缓存;当在第一预设时长内没有接收到客户端返回的推送响应消息时,根据所述缓存的推送请求消息重新发送。服务器在推送消息后,设定时长内无法接收到回复消息,则启动重发机制。利用一个定时器定期的检测缓存中是否存在推送请求消息来确定是否需要重发,很好的解决了服务器消息重发的问题,保障了弱网状态下的用户游戏体验。
实际上,本发明实施例分别针对Request-Response模型、Notify模型和Push模型设计了具体的弱网处理方案,具体过程通过如下三个具体的实施例分别说明。
如图3所示,为本发明一个实施例提供的针对请求响应模型的弱网处理消息交互示意图,其中,
客户端:
每次发上行包都需要携带requestId,同时将请求压入队列顺序请求。当请求出现超时(上行包丢失或者下行包丢失)会使用同样的requestId请求重试(即request1对应的响应包如果没有收到,是不会尝试发送request2,是会一直重试request1)。请求必须连续。
某些特殊场景下,客户端会出现前1个请求没有收到就要发下一个请求的情况。在这种情况下,客户端的请求发送可能不再是连续的。举例:客户端发送请求1,但上行包因为弱网问题丢失,在某些场景下客户端会发送请求2,而没有一直重新请求1。
服务器端:
服务器处理完请求消息后,会将响应消息加入和requestId对应的缓存。客户端会携带已经收到的最大响应Id,用于通知服务器端删除对应的缓存。
当客户端用requestId重试时,服务器直接返回缓存对应的响应消息,不再重复处理请求。因为是长连手游服务器端,内存是有状态的,不能重复消费请求(同一个请求处理多次),所以这里实现了一个响应消息缓存。
针对同一个请求有多个业务响应包时(这个通常取决于业务场景需求),相关业务在处理完毕之后分别将响应包加入到连接响应包队列,在全部业务处理完毕后,依次取出连接响应队列中的响应包合并组装成一条响应消息返回客户端,同时加入响应消息缓存。
针对上面的客户端特殊场景,检测到请求不是连续的时候,会直接将当前请求加到请求缓存内,而不是直接处理,直到收到正确的请求id时再依次顺序处理。即服务器端保证了处理顺序是按照请求序号处理,而不是按照收到的顺序处理。例如,服务器端先收到了请求2,服务器发现自己当前应该处理请求序号为1,此时直接把请求2加入到请求缓存中。当收到请求1时,直接处理。处理完毕后再从请求缓存中找到请求2处理,依次类推。
如图4所示,为本发明一个实施例提供的针对推送模型的弱网处理消息交互示意图,其中,
服务器端/客户端:
所有的推送请求携带pushRequestId,同时将该推送请求消息加入推送缓存。
向客户端发送推送消息时,客户端如果收到,需要回复PushSuccess确认已经收到。服务器端收到PushSuccess后,根据pushRequestId将之前的推送请求消息从缓存移除。
如果客户端未回复PushSuccess,表明可能发生了弱网,出现了丢包。服务器端会启动一个定时器,按照配置的间隔时间定期检查推送缓存的消息并尝试重发(配置了推送消息的过期时间,避免推送缓存过大)。
如图5所示,为本发明一个实施例提供的针对复合场景的弱网处理消息交互示意图,其中,
在某些业务场景下,会同时存在请求响应消息和通知消息。例如,客户端发起请求1,服务器处理返回200金币消息,但是下行包丢失了。同时,服务器通知客户端300金币消息。客户端重发请求1,服务器返回返回的200金币消息此时就出现了因为弱网导致问题,客户端正常应该是300金币,但是现在因为弱网却显示为200金币。这是长连接手游比较常见的弱网情况。
服务器端的通知类消息不推送数据相关,而是推送一个数据改变消息。
客户端在收到推送的数据改变消息后,再通过请求响应方式去请求对应的变化的数据。即由请求响应和通知消息同时存在,全部变为单一的请求响应方式。
上述三种通信模型中的通知模型,因为本身就是通知,即相对来说业务场景下的消息不重要,所以即使出现了弱网丢包问题,也无实际太大影响。
本发明实施例中,根据所述客户端的请求消息对应的请求标识的顺序处理所述请求消息;当接收到的所述客户端的请求消息对应的请求标识与上一请求消息对应的请求标识不连续时,将所述请求标识对应的请求消息缓存;并继续接收所述客户端的请求消息;当继续接收的所述客户端的请求消息对应的请求标识与缓存的所述请求消息对应的请求标识连续时,在处理完当前所述请求消息后,获取缓存的所述请求消息并进行处理。服务器向客户端发送推送请求消息,将所述推送请求消息缓存;当在第一预设时长内没有接收到客户端返回的推送响应消息时,根据所述缓存的推送请求消息重新发送。本发明方案中,采用了客户端按照请求标识的顺序请求/重发、服务器端缓存响应消息、合并同一个请求的多个响应包、服务器端实现请求消息缓存保证按照序列号顺序处理等多种方案,解决了长连接手游项目各种场景下的弱网问题,保障了用户的游戏体验。
根据特定的实施方式对本发明详细进行了说明,但上述的实施方式仅为例示,本发明不被上述实施方式限定。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种长连接网络弱网重连方法,其特征在于,所述方法包括:
在请求响应模型下:根据客户端的请求消息对应的请求标识的顺序处理所述请求消息;
当接收到的所述客户端的请求消息对应的请求标识与上一请求消息对应的请求标识不连续时,将所述请求标识对应的请求消息缓存;并继续接收所述客户端的请求消息;
当继续接收的所述客户端的请求消息对应的请求标识与缓存的所述请求消息对应的请求标识连续时,在处理完当前所述请求消息后,获取缓存的所述请求消息并进行处理;
所述方法还包括:
当所述客户端的同一个业务请求包括多个请求消息时,所述业务请求包括的请求消息根据对应的请求标识的顺序逐一处理并将对应的响应消息缓存;
将缓存的所述响应消息根据对应的请求标识组合为一条组合响应消息后,返回客户端;
在通知模型下:服务器或客户端向对方发送推送请求消息,将所述推送请求消息缓存;
当在第一预设时长内没有接收到客户端或服务器返回的推送响应消息时,根据所述缓存的推送请求消息重新发送;
在推送模型下:所述推送请求消息仅包含相应的数据改变信息;
所述客户端在接收到所述数据改变信息后,向服务器发送请求响应消息获取所述数据改变信息对应的数据变化具体内容。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当处理完当前的请求消息后,当确定缓存的请求消息对应的请求标识与当前处理的请求消息对应的请求标识连续时,按照请求标识的顺序处理缓存的请求消息与当前的请求消息。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当若干个请求消息对应的请求标识均不连续时,则在接收到完整连续的请求标识对应的请求消息后,再根据请求标识的顺序逐一处理对应的请求消息。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到的请求消息对应的请求标识与上一个请求消息对应的请求标识间缺失若干个请求消息对应的请求标识时,缓存当前请求消息;并继续接收请求消息,直到所有缺失的若干个请求消息均接收到后,再根据请求标识的顺序逐一处理对应的请求消息。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
服务器根据客户端的请求标识将客户端请求消息对应的响应消息返回后,将所述响应消息缓存;
当再次接收到所述客户端的请求标识对应的请求消息时,根据缓存的响应消息返回所述客户端。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到服务器返回的推送响应消息时,将推送响应消息对应的推送请求消息从缓存中删除。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
以第二预设时长为周期检测缓存中的推送响应消息,将超过第二预设时长仍缓存的所述推送请求消息重发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110760713.8A CN113489786B (zh) | 2021-07-01 | 2021-07-01 | 一种长连接网络弱网重连方法、重发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110760713.8A CN113489786B (zh) | 2021-07-01 | 2021-07-01 | 一种长连接网络弱网重连方法、重发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113489786A CN113489786A (zh) | 2021-10-08 |
CN113489786B true CN113489786B (zh) | 2023-11-14 |
Family
ID=77941125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110760713.8A Active CN113489786B (zh) | 2021-07-01 | 2021-07-01 | 一种长连接网络弱网重连方法、重发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113489786B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114146417B (zh) * | 2021-12-03 | 2023-09-08 | 广州银汉科技有限公司 | 一种游戏弱网测试分析平台 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023020A (zh) * | 2014-06-13 | 2014-09-03 | 中国民航信息网络股份有限公司 | 针对移动设备的TypeB报文订阅推送***及相应方法 |
CN106714334A (zh) * | 2016-12-22 | 2017-05-24 | 网易(杭州)网络有限公司 | 一种断线重连方法、装置及*** |
CN108989179A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 消息处理方法及装置、存储介质 |
CN109286665A (zh) * | 2018-09-17 | 2019-01-29 | 北京龙拳风暴科技有限公司 | 实时移动游戏长链接处理方法及装置 |
CN109587235A (zh) * | 2018-11-30 | 2019-04-05 | 深圳市网心科技有限公司 | 一种基于网络库的数据访问方法、客户端、***及介质 |
CN110008037A (zh) * | 2019-02-28 | 2019-07-12 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置及存储介质 |
CN112040501A (zh) * | 2020-08-28 | 2020-12-04 | 康键信息技术(深圳)有限公司 | 移动网络质量的检测预警方法、装置、设备及存储介质 |
CN112169312A (zh) * | 2020-09-27 | 2021-01-05 | 厦门雅基软件有限公司 | 云游戏服务的排队调度方法、装置、设备和存储介质 |
CN112333083A (zh) * | 2020-10-30 | 2021-02-05 | 平安付科技服务有限公司 | 交易信息处理方法、装置、计算机设备及计算机可读介质 |
-
2021
- 2021-07-01 CN CN202110760713.8A patent/CN113489786B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023020A (zh) * | 2014-06-13 | 2014-09-03 | 中国民航信息网络股份有限公司 | 针对移动设备的TypeB报文订阅推送***及相应方法 |
CN106714334A (zh) * | 2016-12-22 | 2017-05-24 | 网易(杭州)网络有限公司 | 一种断线重连方法、装置及*** |
CN108989179A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 消息处理方法及装置、存储介质 |
CN109286665A (zh) * | 2018-09-17 | 2019-01-29 | 北京龙拳风暴科技有限公司 | 实时移动游戏长链接处理方法及装置 |
CN109587235A (zh) * | 2018-11-30 | 2019-04-05 | 深圳市网心科技有限公司 | 一种基于网络库的数据访问方法、客户端、***及介质 |
CN110008037A (zh) * | 2019-02-28 | 2019-07-12 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置及存储介质 |
CN112040501A (zh) * | 2020-08-28 | 2020-12-04 | 康键信息技术(深圳)有限公司 | 移动网络质量的检测预警方法、装置、设备及存储介质 |
CN112169312A (zh) * | 2020-09-27 | 2021-01-05 | 厦门雅基软件有限公司 | 云游戏服务的排队调度方法、装置、设备和存储介质 |
CN112333083A (zh) * | 2020-10-30 | 2021-02-05 | 平安付科技服务有限公司 | 交易信息处理方法、装置、计算机设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113489786A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7283830B2 (en) | Wireless device hub system and method | |
CN105577777B (zh) | 一种消息处理方法、装置及*** | |
CN110855792B (zh) | 一种消息推送方法、装置、设备及介质 | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
KR100690242B1 (ko) | 모바일 메신저 서비스 이용 중 이미지를 전송하는이동통신단말기 및 그 방법 | |
US7640297B2 (en) | Protocol optimization for wireless networks | |
US20050197143A1 (en) | Mobile communication system and method for providing real time messenger service among mobile communication terminals | |
CN102055718B (zh) | 一种在http streaming***中实现分层请求内容的方法,装置和*** | |
CN112787945B (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
US8095116B2 (en) | Method for delivering multimedia files | |
KR102036579B1 (ko) | 무선 통신 시스템에서 웹 서비스 제공 방법 및 장치 | |
KR101809365B1 (ko) | M2M/IoT 플랫폼에서 MQTT 프로토콜을 활용한 메시지 단편화 방법 | |
CN111917562A (zh) | 广播消息转发方法、装置、设备及存储介质 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN103684707A (zh) | 服务端、用户端消息传输处理方法、消息传输方法及*** | |
CN113489786B (zh) | 一种长连接网络弱网重连方法、重发方法 | |
CN106657183A (zh) | 缓存加速的方法及装置 | |
US20050187959A1 (en) | Method for transferring a message file between a client and a server | |
CN104580084A (zh) | 一种分享多媒体文件的方法、终端及*** | |
CN115348333B (zh) | 基于udp双端通信交互的数据传输方法、***及设备 | |
CN102025730B (zh) | 基于http协议的数据传输装置及其实现方法 | |
US8744499B2 (en) | Mobile terminal and multimedia messaging service notification message processing method | |
CN103281369A (zh) | 报文处理方法及广域网加速控制器woc | |
CN107733979B (zh) | 数据推送方法、服务器及*** | |
CN116308671A (zh) | 基于mqtt协议的在线竞价方法、电子设备及存储介质 |
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 |