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



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

https://github.com/ryanb/private_pub

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

建议在王菲网站上这样做:

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

client.disable('websocket');

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

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

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

但是我收到此错误:类型错误:对象 # 没有方法"禁用">

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

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

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

你试过吗

client.disable('websocket'); 

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

相关内容

  • 没有找到相关文章

最新更新