问题标签 [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 投票
2 回答
861 浏览

nginx - 生产精简最佳实践

我正在使用Thin作为Faye的服务器。为此,我使用这样的东西:

瘦身过程受到上帝的监督,一切都在发展中。

但是,我不确定这是否是生产配置的正确设置。我想知道的是这个设置(前面没有 Nginx 或 HAProxy)将如何在生产环境中执行。

0 投票
1 回答
329 浏览

cross-domain - Faye 如何实现跨域(XDR)发布/订阅?

Faye支持跨域订阅。这是他们文档的摘录:

跨域操作
Faye 客户端和服务器透明地支持跨域通信,因此您的客户端可以连接到您喜欢的任何域上的服务器,而无需进一步配置。

有谁知道它是如何实现的?

0 投票
2 回答
1921 浏览

javascript - 在 faye 客户端上禁用 websockets(使用 private_pub)

我正在使用 private_pub,它是 faye 的包装器

https://github.com/ryanb/private_pub

我不想在客户端禁用 websockets,所以 faye 会退回到轮询,因为我的生产环境不支持 websockets。

建议在faye网站上这样做:

对于某些应用程序,您可能需要从使用中排除某些传输。例如,您可能知道您的部署环境不支持 WebSocket,或者您有理由坚持轮询。在这种情况下,您可以像这样禁用传输:

client.disable('websocket');

http://faye.jcoglan.com/browser.html

我尝试修改 private_pub.js 代码以在创建时禁用 websocket:

但我收到此错误:TypeError: Object # has no method 'disable'

我很确定站点示例中的“客户端”与我的客户端类型相同,因为在站点的前面显示了此代码:var client = new Faye.Client('http://localhost:8000/faye');,就像我的代码中的 self.fayeClient 是如何创建的一样。

我对网站中的示例不了解吗?或者我应该如何禁用 websockets 以便我的 faye 客户端使用轮询而不是 websockets?

0 投票
3 回答
2831 浏览

ruby-on-rails - 带有 privatepub gem 的基本私人聊天系统

我已经尝试了一个多月来弄清楚如何在我的网站上设置与用户的私人对话,而不仅仅是我知道如何使用 faye 或 privatepub gem 进行的群组对话。所以我的问题是如何创建一个频道,让两个用户随时可以互相交谈,就像私人对话一样,只有这两个用户可以互相广播,然后任何时候我想与另一个用户交谈,我使用单独的频道该用户就像实时完成的普通 Facebook 聊天,但这次我想使用私人酒吧 gem。只需要一点指导来实现这一点。

0 投票
2 回答
2405 浏览

javascript - 在 Node.js 上使用 Faye 进行服务器身份验证

所以我对 node.js 和 faye 非常陌生 - 所以我认为这是非常基本的,但我不确定我应该问什么。

我为我的 faye 服务器设置了这个设置,在节点 jitsu 上运行:

然后我有一个连接到它的 rails 应用程序。

在我添加 serverAuth 的东西之前,它工作正常。

当我像这样卷曲时:

我收到一条成功消息。

在 Rails 应用程序上的 JS 文件中,我有:

现在,当为 faye 脚本加载 rails 应用程序时,我收到一个错误的请求 400 错误。

发送的参数具体是:

因此,我设置的标头参数似乎没有在 faye 所做的“元”握手中发送。

在我进行此服务器身份验证之前,它工作得很好,我可以将消息卷曲到应用程序中。现在没有骰子。

有什么想法我哪里出错了吗?

谢谢!

0 投票
2 回答
284 浏览

jquery - 如何创建视图的路径以订阅bayeux.getClient().publish(

我正在使用 node js 和 faye 简单地将一些消息传递给客户端,

我创建一个节点服务器

我用来bayeux.getClient().publish(向特定客户端发布消息。

我创建了一个订阅 js

问题是,我不知道如何创建频道

以及如何订阅它,请帮助。提前致谢 ................

0 投票
1 回答
968 浏览

ajax - 为什么使用 Faye 进行聊天而不使用 Ajax (rails)

我不确定使用 Faye 或其他一些推送系统而不使用 Ajax 有什么优势。

具体来说,我的意思是实现聊天和通知功能。

如果我制作了一个聊天消息模型,并且在我的帖子(其中有很多聊天消息)中,我可以在帖子页面中使用 Ajax 刷新消息并获得聊天功能。

我是否错过了 Faye 或 Ajax 的某些内容?是不是更有效率?

0 投票
1 回答
678 浏览

ruby-on-rails - Faye 工作延迟

我在本地机器上使用 rails 应用程序,它工作正常。但我不能让它在生产服务器上工作。

我使用瘦和 nginx,因为我知道 nginx 不支持 websockets。有时我在日志中看到错误:“[Faye::RackAdapter] 输入必须是字符串或 IO”。我在 faye 中阅读了论坛并禁用了 websockets 添加行“Faye.Transport.WebSocket.isUsable = function(_,c) { c(false) };" 在 faye-browser.js 的末尾。

我在萤火虫中看到了这个帖子请求:

[{"id":"1","channel":"/meta/handshake","successful":true,"version":"1.0","supportedConnectionTypes":["long-polling","cross-origin -long-polling","callback-polling","websocket","eventsource","in-process"],"clientId":"3q84u8vsc0mtdehob5dweh5nw","advice":{"reconnect":"retry","interval ":0,"超时":45000}}]

还有这个:

[{"id":"2","clientId":"3q84u8vsc0mtdehob5dweh5nw","channel":"/meta/subscribe","successful":true,"subscription":"/queue/chat"},{"id ":"3","clientId":"3q84u8vsc0mtdehob5dweh5nw","channel":"/meta/connect","successful":true,"advice":{"reconnect":"retry","interval":45000, “超时”:0}}]

现在 faye 确实有效,但需要大约 30-60 秒来获取请求并更新页面。有没有办法减少检查间隔?

我的 nginx conf:http://pastie.org/3982274[Faye::RackAdapter] 输入必须是字符串或 IO

0 投票
4 回答
651 浏览

ruby-on-rails - 未定义的方法`close_connection_after_writing'

我在 Rails 3 上使用 Faye 进行多人游戏项目。错误

block in close': undefined methodclose_connection_after_writing' 为 nil:NilClass (NoMethodError)

在我的 faye 服务器使用命令启动后

rackup faye.ru -s Thin -E 生产

我该怎么办这样的错误?是什么原因造成的?我该如何处理?

0 投票
1 回答
122 浏览

json - node.js 休息 json

我们将一大块 json 发送到 node/faye 并且遇到了嵌套数组的一些问题。这是json:

如您所见,有很多“空”元素(仅"")。对于'顶级'对象这很好,我们得到'key':''。但是,对于子数组(在本例中为“马”),""元素被简单地删除。

这一定是在客户端发生的——我们在服务器端看到的一切看起来都不错。即使使用从文件中提取的静态 json 在客户端上也表现出相同的行为。

我们做错了什么还是节点/faye的问题?