我一直在为我正在构建的系统使用Redis和Faye。我仍然不确定它们是否是我特定应用的最佳选择。我的目标每个用户都可以向channel/主题发布消息,并从他订阅的主题接收消息。主题必须具有层次结构(即主题“B”是主题“A”的子主题,因此主题之间存在“A->B”关系)。如果用户订阅了一个子主题,他只会收到来自该主题的消息(他订阅了“A->B”中的“B”,并且只会收到“B”中的消息)。如果用户订阅主主题,他会收到子主题的所有消息(他订阅了“A”并收到“B”和“A”的其他子主题的消息)。用户应该使用推送通知(Android/Apple)在他们的移动设备上接收通知。我尝试做什么我试图通过向层次
大家好,我正在尝试通过websockets发送一个javascript对象:faye-websockets文档说:send(message)接受String或Buffer并通过连接向其他对等方发送文本或二进制消息。服务器端我用的是node和faye。varWebSocket=require('faye-websocket');varhttp=require('http');varserver=http.createServer();server.addListener('upgrade',function(request,socket,head){varws=newWebSocket(
有没有一种方法可以在rainbows/unicorn中同时启动faye和rails应用程序。现在我正在使用rainbows启动faye/private_pub应用程序,但也想用它启动rails 最佳答案 你知道吗Foreman?使用工头,您可以设置命令以在单个文件上启动您的应用程序,就像这样web:bundleexecstart_app_commandfaye:bundleexecstart_faye_command然后,只需运行bundleexecforemanstart,foreman就会运行rails和faye
我已经在本地主机上设置了Faye,并且工作正常。我现在正尝试使用Cloud66部署服务将其部署在DigitalOceanVPS上。为了运行命令,我使用了“after_rails”Hook。rackup$RAILS_STACK_PATH/faye.ru-sthin-Eproduction这给了我错误:部署期间出错:after_railsHook期间出错:服务器:not_specified。无法运行命令:/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire':cannotloadsuchfil
我正在寻找一个网络应用程序的原型(prototype),该应用程序将使用套接字将温和的消息流推送到移动网络应用程序客户端。我想选择一种架构,如果/当它转移到生产环境时将适用于大量客户(这样我以后就不必更改)我想从Rails开始,因为它很熟悉并且从一开始就具有强大的结构,这意味着更容易制作原型(prototype)。我认为Faye将提供我需要的发布-订阅层,但我是否会通过使用ruby和大量套接字连接来制造瓶颈,或者Faye是否会隔离/保护Ruby服务器免受该负载的影响,如果你遵循?一开始负载不会很大所以没关系,我只是不想在以后有很多套接字连接时被绊倒,我希望我使用node.js!服务
我有一个Rails应用程序,我正在尝试包含fayerubygem。我已经安装了faye和geminstallfaye并在我的根Rails应用程序中添加了一个faye.ru。文件夹:require'faye'Faye::WebSocket.load_adapter('thin')faye_server=Faye::RackAdapter.new(:mount=>'/faye',:timeout=>45)runfaye_server当我想开始faye时:rackup-sthin-Eproductionconfig.ru我只得到:`require':cannotloadsuchfile-
我正在使用fayegem在therailscast中提到允许应用程序推送消息。问题是它将消息推送到所有打开的聊天客户端。我需要他们保密。可以通过faye获取私有(private)消息,但它是基于url的。例如,所有消息都将发送到site.com/foo。但是,在我的模型中,聊天没有特定的url。因为聊天只是该用户发送给您的消息的集合。因此,如果您以adam身份登录,site.com/messages/eve将允许您与eve交谈,但eve则相反。site.com/messages/adam。因此,特定于URL的私有(private)聊天似乎是不可能的。有什么建议吗?messages_co
如何开启Faye服务器的登录功能?我在打结:Faye::Logging.log_level=:debugFaye.logger=lambda{|m|放m我收到以下错误:/faye.ru:5:in`blockin':undefinedmethod`log_level='forFaye::Logging:Module(NoMethodError)我在RubyonRails4上使用Faye版本1.1.2 最佳答案 log_level已在该版本的Faye中弃用。您应该在Logger对象上设置日志级别,然后将其传递给Faye.logger。
我有一个问题。我正在使用faye,用于更新此页面上所有客户的部分页面。但我很受伤。我怎样才能只为特定用户更新页面的一部分。就我而言,我想通知用户有关新消息的信息。但我不知道该怎么做。我只知道如何通知特定页面上的所有人。例如,在我的帖子模型中,我创建了js$('#posts_list').prepend('');$("#posts_listli:first").hide().fadeIn("slow");广播功能是defbroadcast(channel,&block)message={:channel=>channel,:data=>capture(&block)}uri=URI.pa
我正在使用一个名为PrivatePub的rubygem这使用Faye提供PubSub消息传递PrivatePubgem提供了几个基于View的助手来订阅/发送消息到特定主题。我希望扩展PrivatePub以包括一个API调用,它将为我提供连接到Faye的每个当前订阅对象的ID。有人可以解释一下这是如何实现的,或者帮助我找到另一种方法来计算PrivatePubapi中的所有当前订阅。 最佳答案 从0.7版开始,Faye包含一个API,用于监控引擎内正在进行的事件。这意味着您可以附加事件监听器来监视客户端session的创建和销毁,了解