数据库
首页 > 数据库> > c# – 每5秒检查一个数据库值是否昂贵,用户数量大到10000或更多?

c# – 每5秒检查一个数据库值是否昂贵,用户数量大到10000或更多?

作者:互联网

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

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

解决方法:

I don’t want to use sockets

使用WebSockets.

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

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

标签:php,unity3d,client-side,server-side,c-2
来源: https://codeday.me/bug/20190823/1698230.html