Есть идеи, как это реализовать? - PullRequest
0 голосов
/ 28 января 2011

Есть идеи, как это реализовать (http://fluin.com/63) с использованием MySQL + PHP + Javascript (mootools)?

В двух словах, это диалоговое веб-приложение с поддержкой потоков в реальном времени.

Обновление:

Используется http://www.ape -project.org / home.html

Есть идеи, как реализовать вещи в реальном времени без AJAX push (ape)?

Ответы [ 4 ]

1 голос
/ 28 января 2011
  1. Установить Firefox .
  2. Установка Панель инструментов веб-разработки
  3. Установка Firebug
  4. Установка HttpFox
  5. Прочитайте документы вышеперечисленных инструментов о том, как использовать, что они могут сделать.
  6. Перейти к http://fluin.com/63. Используйте вышеуказанные инструменты для проверки.
  7. Читайте о базах данных и моделях данных и MySQL.
  8. Создай свой собственный.
0 голосов
/ 28 января 2011

Сделать это правильно, используя только PHP, очень сложно. Когда у вас есть 5 пользователей, вы можете использовать длинный опрос, но он точно не будет масштабироваться, если у вас, скажем, 1000 пользователей.

Скринкаст (ссылка) в моем посте показывает, как вы могли бы это реализовать, но у него есть пара недостатков:

  • Касается диска (диск очень медленный по сравнению с памятью).
  • Что еще хуже, он также часто опрашивает диск (filemtime()).

Может быть phet (PHP) может масштабироваться. Вы должны попробовать это.

Чтобы сделать его масштабным, я думаю, вам нужно по крайней мере:

  • хорошая реализация длинного опроса (по крайней мере, длинного опроса. У вас есть лучшие транспорты), который может выдерживать нагрузку.
  • хранить данные в памяти (намного быстрее, чем dics), используя что-то вроде redis или memcached .

Я бы использовал:

  • node.js с socket.io (видео) модулем.
  • для хранения данных в памяти я бы использовал node_redis (видео).
0 голосов
/ 28 января 2011

Разве это не похоже на чат?здесь пример одного

0 голосов
/ 28 января 2011

Что ж, это зависит от вашего определения реального времени, которое в техническом смысле просто невозможно для общедоступных IP-сетей и традиционного стека TCP, поскольку вы не можете контролировать время.

Ближе к теме, однако, чтобы обновить любую веб-страницу без прямого вмешательства пользователя, вам придется использовать javascript для опроса сервера на предмет изменений с момента последнего успешного опроса и делать это через определенные промежутки времени. При расчете этих интервалов необходимо учитывать как нагрузку на сеть / сервер, так и задержку, удобную для пользователя.

Сервер, конечно, должен будет хранить новые данные и их своевременное состояние (создание меток времени - один из способов сделать это), чтобы иметь возможность различать контент, уже доставленный различным клиентам.

Как только сервер сообщает о новом контенте, он вставляется в dom-страницу через javascript, и пользователь видит ответ.

Конечно, это немного общее, но вы должны понять.

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