2017-01-29 2 views
1

У меня есть некоторые знания в использовании нитро-сети для разработки моих игр. В настоящее время, я посылаю данные игрока, как это:Правильный способ отправки данных игрока в java

  • атаки игрока
  • Клиент отправляет данные на сервер, на котором игрок атакован
  • Сервер отправляет эти данные в любой другой подключенного клиента
  • Клиенты, которые получают данные, проверяют, какое действие было отправлено ex («attack_left»)
  • Оператор if проверяет, какое действие было отправлено, тогда у клиента есть код для выполнения этого действия

Это лучший способ обработки отправки данных на сервер, а затем на несколько клиентов? Должен ли я просто отправить полный объект игрока?

Спасибо!

+0

здесь нет простого ответа - это сильно зависит от ресурсов сервера, которые у вас есть, от того, насколько быстро вы хотите, чтобы ваш клиент был, насколько быстро вы ожидаете сеть, насколько сложны данные вашего игрока и т. Д. И т. Д. – Dunno

ответ

0

В общем, да. Лучше всего отправлять только нужные данные. Отправка всей информации о персонаже может быстро стать проблемой, если к серверу подключено много других игроков.

Например, если у вас есть 10 игроков, все атакующие одновременно, то сервер получает 10 команд атаки от каждого клиента. Затем серверу придется отправлять каждую из этих атакующих команд каждому подключенному клиенту. Таким образом, вы получаете 90 команд [10 x 9 = 90], которые отправляются сервером. Если каждая из этих команд передает всю информацию о персонаже, это может легко выйти из-под контроля.

Если только ограниченное количество игроков подключено одновременно, возможно, вам удастся отправить всю информацию о персонаже, но вы должны решить, сколько игроков вы хотите поддержать в своей игре.

Смежные вопросы