【问题标题】:Using Torquebox to send messages to the browser使用 Torquebox 向浏览器发送消息
【发布时间】:2013-04-02 20:51:16
【问题描述】:

因此,我们的团队最近在我们的 jruby on rails 应用程序中实施了扭矩箱。这样做的目的是能够从外部源接收队列/主题消息,该外部源正在流式传输实时数据。

我们已经设置了我们的队列/主题,他们可以毫无问题地接收消息。我们要采取的下一步是在浏览器上获取这些消息。

因此我们开始研究如何利用 stomp 的力量。但是我们遇到了一些问题。从文档看来,使用 stomp + websockets 的目的是从客户端接收消息并将这些消息推送到其他客户端。但是我们想在我们的队列上接收消息,然后使用 websockets 将这些消息推送到客户端。这可能吗?或者我们是否必须实现不同的技术,例如 Pusher 或 socket.io 才能将队列/主题消息发送到浏览器?

谢谢。

【问题讨论】:

  • 这不是你的另一个问题的重复吗?
  • 这个问题我问的是队列上的消息是否可以通过stomplets发送到浏览器。我的另一个问题是如何运行 stomp websocket 服务器

标签: websocket jrubyonrails hornetq torquebox


【解决方案1】:

确实可以将消息直接从服务器推送到客户端。我花了很多时间才找到它,因为它没有直接列在文档中。他们的博客在他们的示例中列出了如何使用 websockets 构建聊天客户端。

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 中的效果如何。

【讨论】:

    【解决方案2】:

    我认为 stomplets 是完成这项任务的好方法。在 Rails 应用程序中,您应该使用 ruby​​ base stomp 客户端,在浏览器中使用 javascript base stomp 客户端。在 Rails 中只是发送数据,在浏览器中只是接收。 您可以在扭矩箱文档中找到更多详细信息 http://torquebox.org/documentation/2.0.0/stomp.html

    【讨论】:

      猜你喜欢
      • 2015-04-07
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多