【技术实现步骤摘要】
事件消息的处理方法、装置、电子设备及可读存储介质
本专利技术涉及产品应用
,特别是涉及一种事件消息的处理方法、装置、电子设备及可读存储介质。
技术介绍
对于多人实时互动游戏,游戏客户端发送一个交互指令,游戏服务器接收到该交互指令后,并对该交互指令进行响应处理,得到响应消息,将响应消息发送到客户端,以使客户端更新游戏画面。当多个游戏客户端针对一份公共的数据同时发送多个交互指令时,通常对这份公共的数据加互斥锁从而避免冲突。例如,当游戏客户端A和游戏客户端B同时请求修改同一份公共的数据时,游戏客户端A修改时可以对这份公共的数据加互斥锁,阻止游戏客户端B修改,当游戏客户端A加的互斥锁解除后,游戏客户端B才能继续修改这份公共的数据。但是,当同时修改这份公共的数据的游戏客户端数量较多时,处理过程中,需要多次执行加锁和解锁的操作,可能导致部分游戏客户端等待时间较长,影响游戏的时延等性能指标。
技术实现思路
本专利技术实施例的目的在于提供一种事件消息的处理方法、装置、电子设备及可读存储介质,用以解决 ...
【技术保护点】
1.一种事件消息的处理方法,其特征在于,应用于游戏服务器,包括:/n在接收到游戏客户端发送的事件消息后,将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,所述事件消息为所述游戏客户端基于接收到的交互操作所生成的;/n按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;/n对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;/n向属于所述游戏房间的游戏客户端发送所述响应消息。/n
【技术特征摘要】
1.一种事件消息的处理方法,其特征在于,应用于游戏服务器,包括:
在接收到游戏客户端发送的事件消息后,将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,所述事件消息为所述游戏客户端基于接收到的交互操作所生成的;
按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息;
对所述待处理事件消息进行处理,得到所述待处理事件消息对应的响应消息;
向属于所述游戏房间的游戏客户端发送所述响应消息。
2.根据权利要求1所述的方法,其特征在于,所述将所述事件消息写入与所述游戏客户端所属游戏房间关联的消息队列中,包括:
判断写指针在与所述游戏客户端所属游戏房间关联的消息队列中所指向的位置中是否存在未被读取的事件消息;
若不存在,将所述事件消息写入所述写指针指向的位置。
3.根据权利要求2所述的方法,其特征在于,在若不存在,将所述事件消息写入所述写指针指向的位置之后,所述方法还包括:
判断所述写指针指向的位置是否为所述消息队列的末位;
若是,将所述写指针指向的位置变更为所述消息队列的首位;
若否,将所述写指针指向的位置在所述消息队列中后移一位。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述按照所述消息队列中包含的各事件消息的写入顺序,从所述消息队列中读取最先写入的事件消息,作为待处理事件消息,包括:
判断读指针在所述消息队列中所指向的位置中是否存在未被读取的事件消息;
若存在未被读取的事件消息,读取所述读指针所指向的位置中的事件消息,作为待处理事件消息。
5.根据权利要求4所述的方法,其特征在于,在若存在未被读取的事件消息,读取所述读指针所指向的位置中的事件消息,作为待处理事件消息之后,所述方法还包括:
判断所述读指针指向的位置是否为所述消息队列的末位;
若是,将所述读指针指向的位置变更为所述消息队列的首位;
若否,将所述读指针指向的位置在所述消息队列中后移一位。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若不存在未被读取的事件消息,等待预设时长后,再次执行所述判断读指针在所述消息队列中所指向的位置中是否存在未被读取的事件消息的步骤;或者,
若不存在未被读取的事件消息,将所述读指针指向的位置变更为另一个游戏房间的消息队列的首位。
7.根据权利要求1-3或5-6任一项所述的方法,...
【专利技术属性】
技术研发人员:陈生飞,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。