[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Асинхронный php на Ratchet
Broglie
Здравствуйте.
Передо мной стоит следующая задача: на сайте выводится список и пользователи могут менять элементы списка(текст, дату и т.д.), необходимо чтобы изменение одного пользователя было видно у всех.
У меня есть 2 варианта:
1)Через Ajax по таймауту опрашивать серер для каждого из подгруженных элементов списка и получать новые значения, если элементы были изменены.
2)Реализовать 1-й пункт на WebSocket.

1-й вариант я отбросил т.к. каждые 10 секунд слать на сервер около 100 Id's это много, пришлось ковырять второй вариант. Я наковырял Ratchet, он запускается как демон и имеет следующие функции:
    onOpen
    onClose
    onMessage
    onError
Но этот демон будет работать практически независимо от экосистемы моего приложения, поэтому я решил запустить его как общий сервер для уведомлений.

Функционировать это будет следующим образом: все действия происходят в приложении, но как только необходимо разослать сообщение всем пользователям(например, произошло изменение элемента списка), то приложение подключается к демону и шлёт сообщение, которое рассылается пользователям.

Такая реализация адекватная? Или можно сделать проще/лучше/красивее?
T1grOK
норм

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
SlavaFr
Может быть имеет смысл посылать не весь список, а только изменения.
Например если клиент зашёл только что, то ему надо безусловно посылать весь список, но если он при запросе шлёт время последнего посещения, то можно ему не весь список, а только изменённые с этого времени элементы посылать, которые потом посредством яваскрипта будут подменены в показанном списке.


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.