我正在使用Unity编写多人RPG游戏,在战斗场景中,玩家必须确定她或她使用的攻击。当玩家按下攻击按钮时,玩家向服务器发送一个发布请求,如果发布请求合法,则服务器进行强制检查,如果请求合法,则服务器将数据库值标记为“on”,或者确切地说,使得它从“0”开始为“1”,例如称为“attack_determined”。
问题是,我必须再次发出http请求以检查此值。战斗中最多有6个字符,如果所有人都想检查attack_determined是0还是1,则每个攻击请求会产生6个请求。而且我不想想用户数是否增加到10000例如。处理我正在使用的VPS服务器的这些请求会很困难。有没有办法减少请求数量?我不想使用套接字,我想使用会话或内存缓存。我在服务器端使用PHP,在Unity客户端使用C#。
我不想使用套接字
使用WebSockets。
您可以使用websocket独立库或使用Unity的网络API并在其上启用websocket。如果您决定使用Unity Network API,只需将NetworkServer.useWebSockets
设置为true
即可启用此功能。
启用后,Unity将从套接字切换到websocket。如果您只是在使用WebGL应用程序,可以查看assetstore上的这个websocket插件。