реализация instant Messenger для rails?
-
28-10-2019 - |
Вопрос
Некоторое время я искал, исследуя несколько технологий для создания простой системы обмена мгновенными сообщениями для приложения ruby on rails.Это кажется очень сложным, поскольку я не нашел никаких кроссбраузерных реализаций или вообще какого-либо подтверждения концепции 1-1.
Заглянул в:
- клиенты xmpp ( на github есть Candy, поддерживающий только групповой чат )
- xmpp-серверы и Rails ( много хлопот без хорошей интеграции)
- Juggernaut (нет 1-1 , не поддерживается Internet Explorer из-за используемых веб-сокетов)
- Частный паб Райана Бейтса ( кажется, он способен выполнить трюк, но поскольку новичок ruby с небольшим количеством документации по этому вопросу, не может разобраться в этом)
Кто-нибудь может предложить мне мессенджер для rails:
- это кроссбраузерный
- имеет хорошую документацию, пример реализации
- Мгновенный мессенджер, в котором Пользователь A общается с Пользователем B, а Пользователь B - с Пользователем A
Я действительно больше понятия не имею, как я мог бы это реализовать, кто-нибудь может дать мне совет о том, как можно решить эту проблему?спасибо
Решение
Как сказал Эрик, такого не существует.Обмен сообщениями - это очень сложная задача.
Прямо сейчас я использую Пабнуб, который является внешней службой.Существует не очень хорошая документация по интеграции Rails, так что вам просто придется попробовать сделать это самостоятельно.
С точки зрения лучшей документированности, есть Фэй, но это внутренний процесс, и для его выполнения требуются два экземпляра (один для ответа на запросы Faye, а другой для запуска вашего приложения).Это было немного сложнее (и дороже) сделать на Heroku, поэтому я просто остановился на Pubnub.
Что касается документации Faye, ознакомьтесь с этим Рельсовая трансляция, а для обеспечения конфиденциальности ознакомьтесь с Частный Паб.
Редактировать: если вы считаете, что частный паб трудно интегрировать..ну, не хочу быть злым, но, возможно, вам следует попытаться узнать больше о Rails и Javascript, прежде чем углубляться в этот вопрос, поскольку это непросто сделать (хотя кажется, что так и должно быть).
правка 2: Кроме того, для Фэй, этот учебник может помочь вам в этом.
Возможно, вам было бы лучше использовать Node.js для такого рода вещей.
Другие советы
Незавершенная работа:полный клон facebook
https://github.com/rubytastic/im
пожалуйста, внесите свой вклад, код должен быть исправлен и по-прежнему дурацкий!