Синхронизация в многопользовательской сетевой игре? - PullRequest
4 голосов
/ 29 апреля 2011

Недавно я работал над многопользовательским сетевым приложением.Я успешно реализовал модель клиент-сервер, используя службы Bonjour и объекты NSStream.Двухстороннее соединение было успешно установлено.

Проблема, с которой я сталкиваюсь: два устройства, на которых запущено приложение, подключены через локальный Wi-Fi.Существует проблема задержки при отправке сообщений от клиента к серверу и наоборот.

Краткое описание:

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

Есть идеи?

1 Ответ

9 голосов
/ 29 апреля 2011

Добро пожаловать в мир сетей. :)

Это классические трудности с программированием сетевых игр. Есть много разных методов, чтобы преодолеть эти проблемы.

Этот блог содержит отличную информацию по этому вопросу и, вероятно, поможет вам.

http://gafferongames.com/networking-for-game-programmers/

Вы можете быть особенно заинтересованы в этой статье:

http://www.gafferongames.com/networking-for-game-programmers/what-every-programmer-needs-to-know-about-game-networking

Удачи!

...