小编Diz*_*Dez的帖子

Websocket标头丢失了

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

这似乎很好.如何知道设置是否未正确加载?

关于在哪里寻找下一个的任何线索将非常感激.

sockets ssl rack ruby-on-rails faye

17
推荐指数
1
解决办法
5422
查看次数

标签 统计

faye ×1

rack ×1

ruby-on-rails ×1

sockets ×1

ssl ×1