每5秒检查一次数据库值是否昂贵,大量用户数如10000或更多?

use*_*560 3 php c# server-side client-side unity-game-engine

我正在使用Unity编写多人RPG游戏,在战斗场景中,玩家必须确定她或她使用的攻击.当玩家按下攻击按钮时,玩家向服务器发送一个发布请求,如果发布请求合法,则服务器进行强制检查,如果请求合法,则服务器将数据库值标记为"on",或者确切地说,使得它从"0"开始为"1",例如称为"attack_determined".

问题是,我必须再次发出http请求以检查此值.战斗中最多有6个字符,如果所有人都想检查attack_determined是0还是1,则每个攻击请求会产生6个请求.而且我不想想用户数是否增加到10000例如.处理我正在使用的VPS服务器的这些请求会很困难.有没有办法减少请求数量?我不想使用套接字,我想使用会话或内存缓存.我在服务器端使用PHP,在Unity客户端使用C#.

Pro*_*mer 6

我不想使用套接字

使用WebSockets.

您可以使用websocket独立库或使用Unity的Network API并在其上启用websocket.如果您决定使用Unity Network API,只需设置NetworkServer.useWebSockets为即可启用此功能true.

启用后,Unity将从套接字切换到websocket.如果你只是对WebGL的应用程序时,您可以看看在这个WebSocket的插件assetstore.