我正在使用Rails 3.2.13的'faye'宝石.在开发中,我在localhost:9292上运行faye,在localhost:3000上运行我的应用程序.我可以通过命令行的curl请求激活弹出窗口,但我无法在我的应用程序中建立连接.我在控制台中收到的错误是:
与'ws:// localhost:9292/faye'的WebSocket连接失败:WebSocket握手期间出错:缺少"升级"标题
我想在我的application.js文件中为faye定义一个标题:
$(function() {
var faye = new Faye.Client("http://localhost:9292/faye");
faye.setHeader("Access-Control-Allow-Origin", "http://localhost:3000");
faye.subscribe('/messages', function (data) {
alert(data);
});
});
Run Code Online (Sandbox Code Playgroud)
这是添加标题的正确方法吗?
我在这里找到了类似问题的讨论:https://github.com/faye/faye/issues/222 在这种情况下,错误似乎与未加载的ssl设置有关.我检查了我的机架gem的lib目录并找到了
def ssl?
scheme == 'https'
end
Run Code Online (Sandbox Code Playgroud)
这似乎很好.如何知道设置是否未正确加载?
关于在哪里寻找下一个的任何线索将非常感激.
我使用内置的MZFayeClient(https://github.com/m1entus/MZFayeClient)WebSocket.我需要实现长轮询技术.怎么做?从哪儿开始?没有关于如何操作的信息(或足够的信息),或者是否存在具有长轮询的Faye库.