Реализация чата в Rails
Я пытаюсь реализовать chat module
в моем приложении рельсы. Я посмотрел в этом уроке Railscast Фэй. Более подробно в уроке Райан упоминает о broadcasting
сообщения, но то, что я хочу, больше похоже private conversations
между клиентами вместо трансляции.
Можно ли сделать это через Фэй? или есть лучший способ реализации чата в рельсах?
3 ответа
Существует драгоценный камень, который обрабатывает для вас аутентификацию для faye, поэтому пользователи могут слушать только те каналы, на которые вы подписаны. Существует также Railscast, говорящий об этом драгоценном камне. https://github.com/ryanb/private_pub
Я использовал учебник Райана на private_pub
чтобы получить Gmail-подобную функцию обмена мгновенными сообщениями. Это на самом деле не очень сложно. Посмотрите, как я добился этого в этом уроке http://goo.gl/l3e8zN
Я мало что знаю о Фэй, но если предположить, что принципы те же, что и с чем-то вроде чистого node.js и веб-сокетов, вы поделите каналы, на которые можно подписаться, на столько чатов, сколько есть, и затем вы Требуется какая-то аутентификация, прежде чем клиент сможет подписаться на этот канал, для чего существует множество подходов, как в большинстве систем аутентификации (например, общий секрет, имя пользователя / пароль, запрос / ответ и т. д.).