一种游戏断线自动重连方法及系统

文档序号:1747462 发布日期:2019-11-29 浏览:28次 >En<

阅读说明:本技术 一种游戏断线自动重连方法及系统 (A kind of game broken string Auto-reconnect method and system ) 是由 徐白鹿 卢浩发 于 2019-08-12 设计创作,主要内容包括:本发明涉及计算机技术的技术领域,尤其是涉及一种游戏断线自动重连方法及系统,游戏断线自动重连方法包括:S10:若获取到用户端触发的用户断线消息,则获取用户断线场景信息;S20:调用socket函数,通过所述socket函数将所述用户断线场景信息预存至后台服务端;S30:所述后台服务端在获取到所述用户断线场景信息后,对所述用户端进行监听;S40:若监听到所述用户端触发的用户断线重连请求,则将所述用户断线场景信息发送至所述用户端。本发明具有游戏断线重连数据不会丢失的效果。(The present invention relates to the technical fields of computer technology, and more particularly, to a kind of game broken string Auto-reconnect method and system, game broken string Auto-reconnect method includes: S10: the message if user for getting user terminal triggering breaks obtains user&#39;s broken string scene information;S20: calling socket function, is prestored user broken string scene information to background server by the socket function;S30: the background server monitors the user terminal after getting user&#39;s broken string scene information;S40: if listening to user&#39;s disconnection reconnecting request of the user terminal triggering, user broken string scene information is sent to the user terminal.The present invention has the effect of that game disconnection reconnecting data will not lose.)

一种游戏断线自动重连方法及系统

技术领域

本发明涉及计算机技术的技术领域,尤其是涉及一种游戏断线自动重连方法及系统。

背景技术

目前,随着科技的不断进步,人们的生活逐渐提升,手机、平板电脑等移动终端设备快速发展,手机、平板电脑已经占据人们生活很重要的地位,其中包括各种丰富人们生活的软件,例如***。

现有的***中,以网络游戏为主,用户可通过移动网络或通过连接Wi-Fi登录游戏,而当遇到移动网络或Wi-Fi出现问题时,会影响游戏的正常运行,严重的会导致游戏断线。用户在断线后,需要等网络恢复正常时需要重新登录游戏,而在用户重新登录游戏之后,数据可能会丢失,进而影响用户的使用体验,因此存在改进空间。

发明内容

本发明的目的是提供一种游戏断线重连数据不会丢失的游戏断线自动重连方法及系统。

本发明的上述发明目的一是通过以下技术方案得以实现的:

一种游戏断线自动重连方法,所述游戏断线自动重连方法包括:

S10:若获取到用户端触发的用户断线消息,则获取用户断线场景信息;

S20:将所述用户断线场景信息预存至后台服务端;

S30:所述后台服务端在获取到所述用户断线场景信息后,对所述用户端进行监听;

S40:若预设的时间周期内监听到所述用户端触发的用户断线重连请求,则将调用socket函数将所述用户断线场景信息发送至所述用户端。

通过采用上述技术方案,在用户网络不佳导致游戏断线时,通过在用户端触发该用户断线消息,并获取用户断线当前场景信息,能够对用户断线时的数据进行预存;进一步地,通过调用socket函数,将用户断线场景信息进行预存,能够利用socket通信较好的数据隔离性,进而能够在并发的游戏环境中,当不同的用户在同一游戏场景同时操纵相同的数据时,每个用户都有各自的完整数据空间,使得用户的用户断线场景信息更好的进行预存;在用户重新连接游戏,并触发用户断线重连请求时,将用户断线场景信息发送至用户端,能够保证用户在重新连接游戏时,返回游戏断线时的数据,进而提升了用户的使用体验。

本发明进一步设置为:步骤S20包括:

S21:从所述用户断线消息中获取用户标识,并对使用所述用户标识对所述用户断线场景消息进行标记,得到待匹配场景数据;

S22:初始化socket函数,通过所述socket函数将所述待匹配场景数据预存至所述后台服务端。

通过采用上述技术方案,通过使用用户标识对用户场景信息进行标记,能够在用户重新连接游戏时,自动匹配出该用户断线时的用户断线场景信息,提升了数据的准确性。

本发明进一步设置为:步骤S30包括:

S31:使用bind函数绑定所述后台服务端与所述用户端的通信端口;

S32:在所述通信端口中使用listen函数进行监听。

通过采用上述技术方案,通过bind函数在后提服务端绑定与用户端的通信端口,能够使得后台服务端能够针对断线的用户进行监听,进而有利于对用户重新连接时进行及时数据恢复;通过listen函数在通信端口中进行监听,能够监听到用户重新连接时触发的用户断线重连请求。

本发明进一步设置为:步骤S40包括:

S41:通过调用accept函数阻塞所述后台服务端;

S42:设定预设的时间阈值,若在所述listen函数在所述时间阈值内监听到用户断线重连消息,则通过所述accept函数获取所述用户断线重连请求。

通过采用上述技术方案,通过accept函数阻塞所述后台服务端,能够使得后台服务端持续处于监听状态,使得在用户重新连接时,能够第一时间获取到断线前的用户断线场景信息;通过设置时间阈值,使得后台服务端只保存一定时间的用户断线场景信息,若进而能够减轻后台服务端数据库的压力。

本发明进一步设置为:在步骤S40之后,所述游戏断线自动重连方法还包括:

S50:获取当前场景信息;

S60:使用所述用户标识获取待匹配场景数据;

S70:将所述待匹配场景数据根据所述当前场景信息进行调整后,发送至所述用户端。

通过采用上述技术方案,通过根据当前场景信息对待匹配场景数据进行调整,使得用户在断线重连回来后,获取到及时的场景数据。

本发明的上述发明目的二是通过以下技术方案得以实现的:

一种游戏断线自动重连系统,所述游戏断线自动重连系统包括:

断线数据获取模块,用于若获取到用户端触发的用户断线消息,则获取用户断线场景信息;

预存储模块,用于调用socket函数,通过所述socket函数将所述用户断线场景信息预存至后台服务端;

监听模块,用于所述后台服务端在获取到所述用户断线场景信息后,对所述用户端进行监听;

数据同步模块,用于若监听到所述用户端触发的用户断线重连请求,则将所述用户断线场景信息发送至所述用户端。

通过采用上述技术方案,在用户网络不佳导致游戏断线时,通过在用户端触发该用户断线消息,并获取用户断线当前场景信息,能够对用户断线时的数据进行预存;进一步地,通过调用socket函数,将用户断线场景信息进行预存,能够利用socket通信较好的数据隔离性,进而能够在并发的游戏环境中,当不同的用户在同一游戏场景同时操纵相同的数据时,每个用户都有各自的完整数据空间,使得用户的用户断线场景信息更好的进行预存;在用户重新连接游戏,并触发用户断线重连请求时,将用户断线场景信息发送至用户端,能够保证用户在重新连接游戏时,返回游戏断线时的数据,进而提升了用户的使用体验。

综上所述,本发明的有益技术效果为:

1.在用户网络不佳导致游戏断线时,通过在用户端触发该用户断线消息,并获取用户断线当前场景信息,能够对用户断线时的数据进行预存;

2.通过调用socket函数,将用户断线场景信息进行预存,能够利用socket通信较好的数据隔离性,进而能够在并发的游戏环境中,当不同的用户在同一游戏场景同时操纵相同的数据时,每个用户都有各自的完整数据空间,使得用户的用户断线场景信息更好的进行预存;

3.在用户重新连接游戏,并触发用户断线重连请求时,将用户断线场景信息发送至用户端,能够保证用户在重新连接游戏时,返回游戏断线时的数据,进而提升了用户的使用体验。

附图说明

图1是本发明一实施例中游戏断线自动重连方法的一流程图;

图2是本发明一实施例中游戏断线自动重连方法中步骤S20的实现流程图;

图3是本发明一实施例中游戏断线自动重连方法中步骤S30的实现流程图;

图4是本发明一实施例中游戏断线自动重连方法中步骤S40的实现流程图;

图5是本发明一实施例中游戏断线自动重连方法中的另一实现流程图;

图6是本发明一实施例中游戏断线自动重连系统的一原理框图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

实施例一:

在一实施例中,如图1所示,本发明公开了一种游戏断线自动重连方法,具体包括如下步骤:

S10:若获取到用户端触发的用户断线消息,则获取用户断线场景信息。

在本实施例中,用户断线消息是指用户在使用网络游戏时,因网络问题或有电话打入等因素导致的断线消息。用户断线场景信息是指在用户网络游戏断线时,用户在网络游戏中的虚拟角色处于的场景以及周围环境的数据。

具体地,在用户使用网络游戏时,使用用户端通过网络进行数据交互。在进行数据交互时,若通过后台获取到用户端出现网络中断,则立即生成该用户断线消息,且此时用户端在网络中断时,显示“断线重连”等字样。

进一步地,后台自动获取并保存用户断线时的用户断线场景信息,即用户在断线前交互的数据。

S20:将用户断线场景信息预存至后台服务端。

在本实施例中,后台服务端是指具体运行该网络游戏的服务段,该服务段可以是独立的服务器或者是多个服务器组成的服务器集群来实现。

具体地,将该用户断线场景信息缓存至该后天服务端。

需要说明的是,现有的网络游戏在用户下线后,再次登录该游戏,即可继续使用该网络游戏,而本实施例的方法可适用于在网络游戏中,用户操控的虚拟角色进入副本时,或进行多名用户进行互动时(组队或进行对战),用户掉线后,再次重新连接,则可返回断线时的数据,而不会被后台服务端判定下线。

S30:后台服务端在获取到用户断线场景信息后,对用户端进行监听。

具体地,在后台服务端在获取到用户断线场景信息后,调用相应的监听函数,对用户端进行监听,用于监听该用户是否重新建立连接。

S40:若预设的时间周期内监听到用户端触发的用户断线重连请求,则将调用socket函数将用户断线场景信息发送至用户端。

在本实施例中,用户断线重连请求是指用户在网络恢复正常,尝试重新登录或连接游戏时触发的请求。socket是指应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。Socket函数是指调用该socket的函数。后台服务端是指与运行网络游戏的后台服务器,其能够通过TCP/IP协议族与用户端进行网络数据交互。

具体地,在用户的用户端预定的时间内(例如5分钟)网络恢复正常,需要重新登录游戏时,触发该用户断线重连请求,则调用该socket函数,通过socket将从后台服务端中获取用户断线场景信息。其中,socket函数对应于普通文件的打开操作,因此,具体获取的方式可以是将用户断线场景信息在后台服务端打包成对应的socket文件,使用socket()创建一个socket描述符,用于标识该socket文件。进一步地,将使用socket描述符标记的socket文件发送至用户端,使得用户能够在该用户断线场景信息中继续使用该网络游戏。

在本实施例中,在用户网络不佳导致游戏断线时,通过在用户端触发该用户断线消息,并获取用户断线当前场景信息,能够对用户断线时的数据进行预存;进一步地,通过调用socket函数,将用户断线场景信息进行预存,能够利用socket通信较好的数据隔离性,进而能够在并发的游戏环境中,当不同的用户在同一游戏场景同时操纵相同的数据时,每个用户都有各自的完整数据空间,使得用户的用户断线场景信息更好的进行预存;在用户重新连接游戏,并触发用户断线重连请求时,将用户断线场景信息发送至用户端,能够保证用户在重新连接游戏时,返回游戏断线时的数据,进而提升了用户的使用体验。

在一实施例中,如图2所示,在步骤S20中,即调用socket函数,通过socket函数将用户断线场景信息预存至后台服务端,包括如下步骤:

S21:从用户断线消息中获取用户标识,并对使用用户标识对用户断线场景消息进行标记,得到待匹配场景数据。

在本实施例中,用户标识是指用于区分网络游戏中每一用户的账号以及该账号内的每一虚拟角色的字符或字符串,其中,该用户标识可以是在用户注册该网络游戏时自动生成的用户ID以及角色信息。待匹配场景数据是指用于在用户断线重连时,需要进行匹配的断线前的数据。

具体地,在用户的网络游戏断线时,获取该断线的用户用于登录的用户标识。并使用该用户标识对用户断线场景消息进行标记,得到待匹配场景数据。

S22:初始化socket函数,通过socket函数将待匹配场景数据预存至后台服务端。

具体地,初始化socket函数,通过socket函数将待匹配场景数据进行计算,得到对应的socket文件,并将该socket文件预存至后台服务端。

在一实施例中,如图3所示,在步骤S30中,即后台服务端在获取到用户断线场景信息后,对用户端进行监听,具体包括如下步骤:

S31:使用bind函数绑定后台服务端与用户端的通信端口。

在本实施例中,通信接口是指后台服务端与用户端通过网络进行数据交互的接口。

具体地,获取该通信接口的网络地址,通过调用bind函数,为步骤S22中的socket文件绑定该网络地址。

S32:在通信端口中使用listen函数进行监听。

具体地,在通信端口中调用listen函数,对用户端进行监听。

在一实施例中,如图4所示,在步骤S40中,即若监听到用户端触发的用户断线重连请求,则将用户断线场景信息发送至用户端,具体包括如下步骤:

S41:通过调用accept函数阻塞后台服务端。

在本实施例中,accept函数是指用于接收用户触发的用户断线重连请求的函数。

具体地,在设置好listen函数对用户端进行监听后,调用该accept函数,用于在监听到请求后,去获取该用户断线重连请求。

S42:设定预设的时间阈值,若在listen函数在时间阈值内监听到用户断线重连消息,则通过accept函数获取用户断线重连请求。

在本实施例中,该时间阈值是指预先设置好,允许用户断线后重新连接,并获取断线前的用户断线场景信息的时间区间。其中,该时间阈值可以通过开发人员或策划人员通过该网络游戏的运营情况进行设置,用于保证游戏的正常运行以及后台服务端数据存储的压力,例如可以设置为5分钟、10分钟或15分钟等。

具体地,在设定好该时间阈值后,若在该时间时间阈值内通过通过listen函数监听到用户重连消息,则通过该accept函数获取用户断线重连请求。

优选地,若在时间阈值之内该用户仍未重连该网络游戏,则判定该用户为下线,则当该用户再次登录时,采用现有的技术,返回用户下线时的数据。若该用户断线时是处于游戏副本或用户互动等,则自动退出该游戏副本,或取消该用户互动(例如玩家之间的对决,则判定该用户对决失败)等。

在一实施例中,如图5所示,在步骤S40之后,游戏断线自动重连方法还包括:

S50:获取当前场景信息。

在本实施例中,当前场景信息是指用户在断线重新连接回该网络游戏时,用户的虚拟角色在游戏中的场景的信息。

具体地,在用户重新连接成功时,从用户断线场景信息中获取该虚拟角色所处的位置,例如位于哪个地图,在地图中的坐标位置,或是位于副本中的坐标位置。进一步地,获取该时刻虚拟角色周围的玩家、NPC位置状态等,作为该当前场景信息。

S60:使用用户标识获取待匹配场景数据。

具体地,使用该用户标识作为匹配字符串,匹配出该用户的待匹配场景数据。

S70:将待匹配场景数据根据当前场景信息进行调整后,发送至用户端。

具体地,将当前场景信息叠加至待匹配场景数据后,发送至用户端,让用户继续使用该网络游戏。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例二:

在一实施例中,提供一种游戏断线自动重连系统,该游戏断线自动重连系统与上述实施例中游戏断线自动重连方法一一对应。如图6所示,该游戏断线自动重连系统包括断线数据获取模块10、预存储模块20、监听模块30和数据同步模块40。各功能模块详细说明如下:

断线数据获取模块10,用于若获取到用户端触发的用户断线消息,则获取用户断线场景信息;

预存储模块20,用于调用socket函数,通过socket函数将用户断线场景信息预存至后台服务端;

监听模块30,用于后台服务端在获取到用户断线场景信息后,对用户端进行监听;

数据同步模块40,用于若监听到用户端触发的用户断线重连请求,则将用户断线场景信息发送至用户端。

优选地,预存储模块20包括:

标记子模块21,用于从用户断线消息中获取用户标识,并对使用用户标识对用户断线场景消息进行标记,得到待匹配场景数据;

预存储子模块22,用于初始化socket函数,通过socket函数将待匹配场景数据预存至后台服务端。

优选地,监听模块30包括:

通信绑定子模块31,用于使用bind函数绑定后台服务端与用户端的通信端口;

监听子模块32,用于在通信端口中使用listen函数进行监听。

优选地,数据同步模块40包括:

预处理子模块41,用于通过调用accept函数阻塞后台服务端;

请求获取子模块42,用于设定预设的时间阈值,若在listen函数在时间阈值内监听到用户断线重连消息,则通过accept函数获取用户断线重连请求。

优选地,游戏断线自动重连系统还包括:

当前数据获取模块50,用于获取当前场景信息;

匹配模块60,用于使用用户标识获取待匹配场景数据;

调整模块70,用于将待匹配场景数据根据当前场景信息进行调整后,发送至用户端。

关于游戏断线自动重连系统的具体限定可以参见上文中对于游戏断线自动重连方法的限定,在此不再赘述。上述游戏断线自动重连系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种云游戏的控制方法、装置、电子设备及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类