Ruby on Rails 3 — общедоступный чат

Я хочу создать общедоступное приложение для живого чата, используя rails 3.

Я нашел пример на рельсах 2. Любой может рассказать вам хороший пример/учебник по разработке приложения для живого чата с использованием рельсов 3.


person Sayuj    schedule 23.08.2011    source источник
comment
Вам нужны указатели или учебник?   -  person Devin M    schedule 23.08.2011


Ответы (3)


Я бы начал с просмотра em-synchony + примеры и просмотр кода для Hector драгоценный камень сервера приватного чата.

person Alec Wenzowski    schedule 23.08.2011

Я столкнулся с несколькими препятствиями, когда пытался внедрить общедоступную и приватную систему чата в свое приложение для рельсов 3. Я посмотрел на faye, juggernaut, node.js и другие. В конце концов, попробовав несколько подходов, я смог реализовать систему, которая отлично работает:

1) Я начал с видео-руководства по обмену сообщениями Faye в Railscast 260, как упоминал Devin M. I. смог быстро настроить приложение rails, которое сохраняло сообщения, и сервер чата, который рассылал эти новые сообщения всем клиентам. Самой большой проблемой была безопасность. У меня не было контроля над доступом к серверу чата.

2) Это привело меня к использованию жемчужины частного паба Райана Бейтса в Railscast 316, что помогает защитить вашу жизнь. сервера, проверив подпись клиента. Это работало для защиты сервера, но я столкнулся с проблемами, пытаясь проверить фактического пользователя с помощью моей системы аутентификации и добавив функцию «кто в сети». Я работал над взломом частного паба, чтобы передавать данные пользователя при аутентификации, но не мог заставить все работать гладко.

3) В конце концов я решил перенести чат-сервер на pusher — размещенный API для приложений реального времени. Я следовал этому руководству по как создать опрос в реальном времени в rails, чтобы получить представление о том, как настроить вещи. Хотя это и не касается непосредственно настройки системы чата — это руководство вместе с тем, что я уже настроил из приведенных выше Railscasts (и легко читаемых документов pusher), позволило мне быстро настроить безопасное приложение для чата rails 3 — в комплекте с аутентификацией. , «кто в сети», сообщения о состоянии и многое другое. Самое приятное то, что мне не нужно заниматься управлением сервером чата.

Надеюсь, это поможет кому-то пройти через тот же процесс, что и я.

person yellowaj    schedule 25.01.2013
comment
Сохраняет ли толкатель (архивирует) отправленные сообщения, чтобы я мог получить предыдущие сообщения, когда пользователь входит в систему на новом устройстве. Например, я могу запросить и получить сообщения за последние два дня, 1 неделю или месяц для определенного пользователя или группы. - person Muhammad Nabeel Arif; 03.04.2013
comment
@MuhammadNabeelArif - я не верю, что их текущий API предлагает эту функцию (но я могу ошибаться). Чтобы добиться тех же результатов, я просто сохранил сообщения в базе данных, а затем удалил старые сообщения через 2 дня. - person yellowaj; 03.04.2013
comment
Не могли бы вы подробно рассказать о проблемах, связанных с попыткой проверить фактического пользователя с помощью моей системы аутентификации? Какая система аутентификации и имеет ли это значение или есть проблемы с любой системой аутентификации? Я хотел бы знать об интеграции в него LDAP (Active Directory). - person dimir; 11.11.2013

Вы можете освоить основы с помощью Railscast 260, я предполагаю, что у меня уже есть опыт работы с Rails/Ruby и некоторые знания jQuery/JavaScript. Скринкаст имеет текстовую версию здесь и исходник здесь, он также находится на Гитхаб.

person Devin M    schedule 23.08.2011