每5秒钟检查一次数据库值是否很昂贵,而且有很多用户数如10000或更多?
我正在使用Unity编程多人RPG游戏,并且在战斗场景中,玩家必须确定他或他使用哪种攻击。当玩家按下攻击按钮时,玩家向服务器发送发布请求,服务器在发布请求合法或不合法时进行强制检查,如果请求合法,则服务器将数据库值标记为“开启”,或者准确地说,例如,它从“0”变为“1”,即所谓的“攻击决定”。每5秒钟检查一次数据库值是否很昂贵,而且有很多用户数如10000或更多?
问题是,我不得不再次发出http请求来检查这个值。战斗中最多有6个字符,如果所有人都想检查attack_determined是0还是1,则每个攻击请求会发出6个请求。例如,我不想考虑用户数量是否增加到10000。处理这些用于我正在使用的VPS服务器的请求将非常困难。有什么办法可以减少请求数量吗?我不想使用套接字,我正在考虑使用会话或memcache。我在服务器端使用PHP,而在Unity客户端使用C#。
回答:
我不想使用套接字
使用WebSockets。
您可以使用websocket独立库或使用Unity的网络API并启用websocket。如果您决定使用Unity Network API,只需将NetworkServer.useWebSockets
设置为true
即可启用。
一旦启用,Unity将从套接字切换到websocket。如果你只是在研究WebGL应用程序,你可以看看assetstore上的这个websocket插件。
以上是 每5秒钟检查一次数据库值是否很昂贵,而且有很多用户数如10000或更多? 的全部内容, 来源链接: utcz.com/qa/262933.html