Сетевой протокол многопользовательской игры - PullRequest
2 голосов
/ 27 марта 2012

Я отвечаю за сетевую часть многопользовательской игры. Надеюсь, у кого-нибудь из вас есть некоторый опыт с этим. Мои вопросы:

  1. Должен ли я создать объект, который содержит всю информацию (координаты, статистика, чат) или лучше отправить собственный объект для каждого из них?

  2. И как я могу избежать кэширования Object / s на клиенте, чтобы я мог обновить Object и отправить его снова? (я попытался ObjectInputStream.reset (), но он все еще получил то же самое)

(простите за мой плохой английский;))

Ответы [ 2 ]

2 голосов
/ 27 марта 2012
  1. Каждый раз, когда отправлять все данные, не является хорошим решением, просто разница предыдущих значений может быть лучше. Иногда (например, 1 раз на каждые 10 или, возможно, 100 обновлений) отправлять все значения для синхронизации.
1 голос
/ 27 марта 2012

1.В логическом слое вы можете разделять объекты, а в слое передачи вы отправляете то, что хотите, конечно, вы можете комбинировать их и отправлять.

2.Вы можете поддерживать версию для каждого пользователя, и у клиента также есть номер версии, когда что-то меняется, обновите соответствующую версию на сервере и затем отправьте обновления всем клиентам, после чего клиент должен обновить версию. это должен быть режим subcribe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...