Использование Torquebox для отправки сообщений в браузер

Поэтому наша команда недавно внедрила крутящий момент в наши приложения jruby on rails. Цель этого состояла в том, чтобы иметь возможность получать сообщения очереди/темы из внешнего источника, который передает данные в реальном времени.

Мы настроили наши очереди/темы, и они без проблем получают сообщения. Следующим шагом, который мы хотим сделать, является получение этих сообщений в браузере.

Поэтому мы начали изучать возможность использования силы топота. Но мы столкнулись с некоторыми проблемами с этим. Из документации видно, что целью использования stomp + websockets является получение сообщений со стороны клиента и отправка этих сообщений другим клиентам. Но мы хотим получать сообщения в наших очередях, а затем отправлять эти сообщения на клиентскую сторону с помощью веб-сокетов. Это возможно? Или нам придется реализовать другую технологию, такую ​​как Pusher или socket.io, чтобы получить сообщения очереди/темы в браузер?

Спасибо.


person ggrillone    schedule 10.04.2013    source источник
comment
Разве это не дубликат вашего другого вопроса?   -  person Clebert Suconic    schedule 12.04.2013
comment
этот вопрос я задаю, можно ли отправлять сообщения в очереди в браузер через stomplets. Где мой другой вопрос заключался в том, как запустить сервер веб-сокетов stomp   -  person ggrillone    schedule 12.04.2013


Ответы (2)


Я думаю, что stomplets - хорошее решение для этой задачи. В приложении rails вы должны использовать клиент ruby ​​base stomp, в браузере javascript base stomp client. В рельсах просто отправляйте данные, а в браузере просто получайте. Более подробно, как это сделать, вы можете найти в документации по Torquebox http://torquebox.org/documentation/2.0.0/stomp.html

person dpa    schedule 30.05.2013

Действительно возможно отправлять сообщения прямо с сервера клиентам. Мне потребовалось немало усилий, чтобы найти его, так как он не указан в документации напрямую. Их блог перечисляет это в своем примере того, как создать чат-клиент с использованием веб-сокетов.

http://torquebox.org/news/2011/08/23/stomp-chat-demo-part3/

В основном вы используете метод inject, чтобы выбрать, на какой канал вы публикуете, а затем используете метод publish для возвращаемого объекта, чтобы фактически отправить сообщение. Этот фрагмент кода из статьи должен указать вам правильное направление.

inject( '/topics/chat' ).publish( message, 
                                  :properties=>{ 
                                    :recipient=>username, 
                                    :sender=>'system' 
                                   } )

Похоже, что :properties — это то же самое, что и заголовки сообщений. В ближайшие пару дней я попробую это сделать, чтобы посмотреть, насколько хорошо это работает в Rails.

person eltiare    schedule 07.09.2013