Подтвердить что ты не робот

WebSockets и Heroku: передача данных пользователю

Я создаю веб-приложение реального времени, использующее Ruby on Rails, и Heroku, кажется, лучший вариант для его размещения.

Я бы предпочел нажимать на пользователя новые данные, когда он становится доступным, вместо того, чтобы тянуть его, отправляя запросы AJAX каждые несколько секунд.

Pusher, по-видимому, предлагается Heroku для такой работы, но имеет некоторые ограничения, приносит дополнительные затраты и делает вы зависите от внешнего API.

Есть ли другой вариант использования WebSockets на Heroku?

4b9b3361

Ответ 1

Если вы хотите делать веб-сайты, вам нужно использовать другой сервер, кроме рельсов. А поскольку у вас на герою у вас нет гибкости.

При желании вы можете разместить сервер с поддержкой веб-сайтов node на экземпляре ec2 micro. Затем в приложении rails, когда вы хотите нажать - выполните запрос на сервер node, и он перейдет к клиентам.

Ответ 2

Если вам нужна только односторонняя связь, попробуйте использовать события Server Side.

Ответ 3

Есть два варианта, которые вы можете использовать с Heroku в стороне от Pusher:

1) Как упоминалось выше Эрик Фоде, вы можете использовать SSE, поскольку вам не нужна двусторонняя связь. Существует дополнение Heroku, которое вы могли бы использовать для этого: https://addons.heroku.com/eshq

2) Существует еще одна менее известная библиотека под названием Faye, которую вы могли бы изучить. Он поддерживает оба сервера Node.js и Ruby и основан на протоколе Bayeux