问题标签 [faye]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
694 浏览

javascript - 如何不向频道的所有订阅者发送消息

有没有办法使用来自服务器的 Faye 和 Ruby 客户端和/或来自浏览器的 javascript 在频道上向N个随机订阅者发送消息,而不是发送给所有订阅者。如果可能的话,我对这两种编程语言中的客户端示例感兴趣。

0 投票
1 回答
2717 浏览

ruby-on-rails - Faye,websocket连接问题:无法与ws://localhost:9292/faye建立连接

我已经设置了我的 Faye 服务器,与我的 Rails 服务器一起运行,就像本教程告诉我的那样:http: //net.tutsplus.com/tutorials/ruby/how-to-use-faye-as-a-real- time-push-server-in-rails/

没有奇怪的行为,直到我取消注释该行

然后 Firebug 给了我这个问题标题中的错误。访问 localhost:9292/faye 和 /faye.js 给了我我所期望的,并且(显然)引用该 .js 文件的 javascript_include_tag 没有任何问题。

当我开始 faye 时,我必须使用 bundle exec,根据这个错误消息:

$ rackup ./config.ru -E production -s thin -p 9292 /Users/newcreation/.rvm/gems/ruby-1.9.3-p0@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:31:in ``block in setup': You have already activated rack 1.4.1, but your Gemfile requires rack 1.3.0. Using bundle exec may solve this. (Gem::LoadError)

我的 config.ru 看起来像这样:

有任何想法吗?

谢谢

0 投票
1 回答
166 浏览

ruby-on-rails-3 - Rails 控制器究竟是什么时候渲染的?

如果用户存在,我有一个呈现 fetch.js.erb 的控制器。我想要做的是渲染这个文件,然后调用 update_tweets 并保存在用户对象上。目前,在呈现 javascript 之前调用 update_tweets 和 save。因此,faye 消息在订阅设置之前被发布。如何强制 javascript 提前执行?另一种选择是以某种方式以非阻塞方式调用@user.update_tweets,但我不确定如何执行此操作。

用户控制器.rb

用户.rb

fetch.js.erb

0 投票
1 回答
214 浏览

ruby - 带有 scala 客户端的 ruby​​ faye 服务器

我有一个运行 ruby​​ 的 Faye 服务器,现在,我需要向 Scala 中的客户端发送通知,但 scala 无法处理 Bayeux,只能处理 WebSockets。
有没有办法将我的连接类型从 Bayeux 更改为使用 websockets?
一些conf。我有的文件

faye.ru

发送通知

0 投票
1 回答
850 浏览

websocket - Faye 阻止连接

我在 Rails 应用程序中使用 Faye,我遇到了一个非常奇怪的行为,如果 faye 在提供subscribe所有资产之前到达(即,在$(document).ready()调用之后但在浏览器中的微调器运行时),那么 faye 将阻止浏览器处于“加载”模式(例如,微调器永远不会停止)。

相信我正在使用 websockets 而不是长轮询,尽管我不确定如何确定。当启用引用 websocket 的调试消息时,我确实在 faye 的日志中看到:

浏览器连接到thin正在运行的独立服务器

我正在使用的命令是

我正在运行 faye 0.8

这是我在 chrome 中看到的

5 分钟后,我简单地[Esc]和那些出现了,那faye.js是 Faye 提供的脚本,似乎这些文件中的每一个似乎都对应于每个subscribe调用。

有趣的是,在这 5 个文件之后,有 5 个调用块,每分钟开始一次。

在此处输入图像描述

对此的任何帮助将不胜感激!

0 投票
1 回答
2635 浏览

ruby-on-rails - 加载页面时与 ws://localhost:9292/faye 的连接中断

在 Firefox 的 Firebug 客户端我看到错误

这是我的 application.js 文件:

这是我的 erb.js 文件:

问题是广播块内的任何东西都不起作用。浏览器响应只是空的。广播方式和 railscast 一样:

我做错了什么?请尽你所能提供帮助。

0 投票
1 回答
85 浏览

ruby-on-rails - 不能再在本地使用 Faye

我习惯在本地环境中使用 Faye 服务器启动

它工作正常。但是现在我不知道发生了什么,当我尝试它时,我得到了这个错误:

/Users/.../.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': 找不到捆绑程序 (>= 0) 在 [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)

我 100% 确定 bundler 已安装,我也尝试运行gem install bundler重新安装 bundler,但没有任何变化。

有什么猜测吗?

0 投票
2 回答
1777 浏览

ruby-on-rails - 如何知道用户何时与 Faye 频道断开连接?

我正在尝试使用 Faye 用 Rails 构建一个简单的聊天室,并将其托管在 heroku 上。到目前为止,我能够让 Faye 服务器运行,并让即时消息正常工作。我正在使用的关键代码行是:

页面加载时启动的 Javascript 文件:


create.js.erb,当用户发送消息时触发


一切正常,但现在我想在用户断开聊天时通知。我该怎么做?

我已经在Faye 的网站上查看了有关监控的信息,但不清楚我应该把该代码放在哪里。

0 投票
1 回答
956 浏览

ruby-on-rails - Private_pub :如何取消订阅频道

我正在使用 private_pub 制作私人聊天应用程序,我的问题是如何使用 private_pub 取消订阅频道?

感谢您的帮助

0 投票
0 回答
93 浏览

ruby-on-rails - ruby on rails:即使重新加载页面,也可以在时间 X 更改登录客户端浏览器位置的可靠方法?

我需要在某个时间 X 更改客户端的浏览器位置。即使用户重新加载页面,它也必须是可靠的,它应该重定向到位置 X

以下是我目前(不完美)的实现:

我需要一种方法来使这个解决方案变得可靠,或者如果它更适合的话,这是一个替代解决方案。IT 共享代码片段很复杂,所以我想重新构建并讨论这个概念,并讨论如何明智地编码实现缺失的差距以保持这个问题的可监督性。

当前解决方案:

  • 我目前正在使用 redis 和 faye 在时间 X 将数据发送到订阅的频道(在客户端)
  • 这意味着当 redis 后台调度程序在某个时间 X 推送/发送此数据时,将触发一个 jquery 事件(url 的重定向)(这总是在将来)

问题是这并不可靠,因为在页面重新加载时,推送/发送的数据永远不会被接收并变得无用。

即使可以保存最后 10 次发送/推送,我们也可以将其称为“历史”,但可以读取它,但说用户断开连接,执行此数据将是无用的,因为它会迟到而不是及时.

*我怎样才能克服这个问题?我更喜欢保留负载服务器端,而不是使用客户端每 1 秒轮询一次服务器以检查是否收到数据。这根本不会扩展,如果应用程序的使用量增加,这将成为一个大问题。*

对这个概念有什么想法可以使其稳固或使用另一种方法来实现该想法的稳固实现?任何意见想法建议欢迎提前感谢!