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

问题描述 投票:3回答:1

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

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

c# php unity3d server-side client-side
1个回答
6
投票

我不想使用套接字

使用WebSockets。

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

启用后,Unity将从套接字切换到websocket。如果您只是在使用WebGL应用程序,可以查看assetstore上的这个websocket插件。

© www.soinside.com 2019 - 2024. All rights reserved.