【问题标题】:Disabling websockets on a faye client (using private_pub)在 faye 客户端上禁用 websockets(使用 private_pub)
【发布时间】:2012-05-12 15:54:22
【问题描述】:

我正在使用 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:

self.fayeClient = new Faye.Client(self.subscriptions.server);
self.fayeClient.disable('websocket'); // my modification

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

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

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

【问题讨论】:

    标签: javascript ruby-on-rails websocket faye


    【解决方案1】:

    看来这解决了问题: Faye.Transport.WebSocket.isUsable = function(_,c) { c(false) }。 在这里找到解决方案: http://groups.google.com/group/faye-users/browse_thread/thread/14447dae9f75afab

    【讨论】:

      【解决方案2】:

      你试过了吗

      client.disable('websocket'); 
      

      var客户端等于faye客户端,但是你使用self.fayeClient作为对象

      【讨论】:

      • 是的,我有。它不起作用,因为未定义客户端Uncaught ReferenceError: client is not defined
      • client 在这个例子中将是你定义你的 faye_client 的任何东西。
      猜你喜欢
      • 2021-12-15
      • 2018-06-03
      • 1970-01-01
      • 2014-10-11
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多