Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Websocket 使用Torquebox向浏览器发送消息_Websocket_Jrubyonrails_Hornetq_Torquebox - Fatal编程技术网

Websocket 使用Torquebox向浏览器发送消息

Websocket 使用Torquebox向浏览器发送消息,websocket,jrubyonrails,hornetq,torquebox,Websocket,Jrubyonrails,Hornetq,Torquebox,因此,我们的团队最近在jruby on rails应用程序中实现了torquebox。这样做的目的是能够从流式传输实时数据的外部源接收队列/主题消息 我们已经设置了队列/主题,他们正在接收没有问题的消息。我们要采取的下一步是在浏览器上获取这些消息 所以我们开始研究如何利用跺脚的力量。但我们在这方面遇到了一些问题。从文档中可以看出,使用stomp+websockets的目的是从客户端接收消息并将这些消息推送到其他客户端。但是我们希望在队列中接收消息,然后使用WebSocket将这些消息推送到客户端

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

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

所以我们开始研究如何利用跺脚的力量。但我们在这方面遇到了一些问题。从文档中可以看出,使用stomp+websockets的目的是从客户端接收消息并将这些消息推送到其他客户端。但是我们希望在队列中接收消息,然后使用WebSocket将这些消息推送到客户端。这可能吗?或者我们是否需要实现一种不同的技术,例如Pusher或socket.io,以便将队列/主题消息发送到浏览器


谢谢。

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

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

基本上,您可以使用
inject
方法选择要发布到的频道,然后对返回的对象使用
publish
方法实际发送消息。这篇文章的代码节选应该能让您找到正确的方向

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

看起来
:properties
与消息头是一样的。在接下来的几天里,我将对此进行一次测试,看看它在Rails中的效果如何。

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