0

使用 JavaScript 客户端

请注意服务器 URL 上缺少协议前缀。不要将 http:// 或 ws:// 添加到您传递给新调度程序的 URL。WebSocketRails 将为您选择最佳的可用传输并自动添加正确的前缀。

我是第一次使用 WebSocketRails。我在客户端收到此错误:

WebSocket 连接到 'ws://localhost:3000/websocket' 失败:在收到握手响应之前连接已关闭

如果我将浏览器导航到http://localhost:3000/websocket,我会收到我期望的消息。如果我导航到wsURL,我会得到ERR_DISALLOWED_URL_SCHEME. 所以看起来服务器正在生成消息,但客户端正在尝试错误的协议。

如何强制客户端使用http协议而不是ws,或强制服务器使用ws而不是广播它http

4

1 回答 1

2

终于通过深入源码找到了答案。构造函数的第二个参数被调用use_websockets,默认为true. 将其设置为false显然会强制它使用http而不是ws.

var dispatcher = new WebSocketRails('localhost:3000/websocket',false);
于 2016-02-18T16:16:42.637 回答