Можно ли использовать шаблон наблюдателя для немедленного уведомления в Интернете? - PullRequest
0 голосов
/ 01 декабря 2011

Допустим, у вас есть простая игра в кости.Это играется в Интернете.Игрок 1 бросает, затем игрок 2. Должен быть какой-то механизм, чтобы уведомлять игрока, когда наступает его очередь.Из-за отсутствия информации о состоянии сети, основанной на pull , решение кажется менее очевидным, чем приложение Windows.

  • Одним из способов является опрос сервера на регулярной основе.>, <</li>

MS говорит о активных MVC .По сути, это MVC, который применяет шаблон наблюдателя.Таким образом, сама игра является «субъектом», а player1, player2 являются наблюдателями.

Может ли наблюдатель использоваться в качестве решения для немедленного уведомления в Интернете?

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Здесь представляет собой краткое изложение методов для достижения двунаправленной связи:

  • Комета
  • Long-опроса
  • Flash
  • Веб-сокеты
  • Java-апплеты
  • Плагин для браузера
  • Внешнее приложение
  • Другие методы: ActiveX, Silverlight, Orbited

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

1 голос
/ 01 декабря 2011

Мы используем долгожданные HTTP-запросы для аналогичной функциональности. Что вы делаете, вы делаете HTTP-запрос к серверу с установленным клиентом тайм-аутом (скажем, 10 минут). В обработчике сервера вы выполняете WaitOne (serverTimeout) с немного более коротким тайм-аутом (8 минут) для некоторого объекта синхронизации, который срабатывает при событии, и возвращаете ответ немедленно, когда происходит событие или истекает время ожидания.

Удобно использовать AsyncController для таких запросов.

...