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