2010-07-28 2 views
0

Я разрабатываю MMO на основе django, и мне интересно, что было бы лучшим способом для взаимодействия с сервером и клиентом. Решения, которые я нашел являются:online game best-practice

  • журнал AJAX звонки
  • держать соединение живой и отправки данных через него

Позже изменения:

Это будет состоять в «у вас есть сообщение "," пользователь x атаковал вас "," ваш транспорт до x прибыл "и тому подобное. Они могут расти в количестве (что-то вроде 1/сек), но для обычного пользователя они не должны достигать 1/мин

+0

Eсть никоим образом мы не можем помочь вам сказать, какая будет лучшая практика, не зная требований вашей игры MMO. Какое время требуется, чтобы событие отображалось на клиенте, сколько событий/времени у вас есть, ...? – KillianDS

ответ

-1

Там также третий метод с участием «висит» запросы:

  • клиент запрашивает обновленная страница (или что-то еще)
  • Сервер не отвечает сразу
  • Когда-то до истечения времени запроса на сервере появляется обновление состояния, и сервер, наконец, отвечает на клиент, который затем может обновиться.
  • Если в течение периода обновления не было ничего нового, чтобы сообщить клиенту, сервер отвечает перед таймаутом сообщением «без новостей», а клиент запускает еще один «зависающий» запрос.

Преимущества:

  • Клиент не должны делать Ajax. Вы даже можете сделать обычные HTML-страницы «интерактивными», как это.
  • Вероятно, не так много бессмысленного трафика для голосования.

Недостатки:

  • сервер должен поддерживать более активные соединения открытыми, и обслуживать их по крайней мере один раз за период тайм-аута. Кроме того,
  • в зависимости от того, насколько хорошо серверный код поддерживает многопоточность (предоставляет ли PHP какую-либо помощь?), Может быть сложнее закодировать, чем обработку ответа AJAX.
0

Не уверены, если это применимо к тому, что вы ищете, но есть довольно хороший живой пример легкого клиент-сервера связи с использованием Node.js для простого чата:

http://chat.nodejs.org/

0

Возможно, вы захотите взглянуть на crossbar

Перекладина.Ио серверное программное обеспечение с открытым исходным кодом, который позволяет разработчикам для создания распределенных систем, состоящих из компонентов приложения , которые слабо связаны между собой, общаются в (мягкие) в режиме реального времени и могут быть реализованы на разных языках

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