Я программирую многопользовательскую ролевую игру с использованием Unity, и на сцене сражения игрок должен определить, какую атаку он или она использует. Когда игрок нажимает кнопку атаки, он отправляет на сервер запрос на публикацию и сервер делает обязательные проверки, является ли запрос на публикацию законным или нет, тогда, если запрос является законным, сервер помечает значение базы данных как «включено» или, если быть точным, делает это «1» из «0», что называется, например, «attack_determined».
Проблема в том, что мне нужно снова сделать http-запрос, чтобы проверить это значение. В битве может быть не более 6 символов, и если все люди хотят проверить, установлено ли значение attack_defineded 0 или 1, оно отправляет 6 запросов на каждый запрос атаки. И я не хочу думать, если число пользователей увеличится, например, до 10000. Было бы так сложно обработать эти запросы для сервера VPS, который я использую. Есть ли способ уменьшить количество запросов? Я не хочу использовать сокеты, я думал использовать сессии или memcache. Я использую PHP для серверной части и C # для клиентской части Unity.
Я не хочу использовать сокеты
Используйте WebSockets.
Ты можешь использовать WebSocket автономную библиотеку или используйте сетевой API Unity и включите на нем websocket. Если вы решите использовать Unity Network API, это можно включить, просто установив NetworkServer.useWebSockets
в true
,
После включения Unity переключится с сокета на веб-сокет. Если вы только работаете над приложением WebGL, вы можете взглянуть на этот плагин websocket на assetstore.
Других решений пока нет …