websocket rails:服务器发出http://协议;客户端需要ws://协议
发件人: 请注意,服务器URL上缺少协议前缀。不要将http://或ws://添加到传递给新调度程序的URL中。WebSocketRails将为您选择最佳的可用传输,并自动预编正确的前缀 我第一次使用WebSocketRails。我在客户端中遇到以下错误: 到“ws://localhost:3000/WebSocket”的WebSocket连接失败:在收到握手响应之前连接已关闭 如果我将浏览器导航到websocket rails:服务器发出http://协议;客户端需要ws://协议,websocket,websocket-rails,Websocket,Websocket Rails,发件人: 请注意,服务器URL上缺少协议前缀。不要将http://或ws://添加到传递给新调度程序的URL中。WebSocketRails将为您选择最佳的可用传输,并自动预编正确的前缀 我第一次使用WebSocketRails。我在客户端中遇到以下错误: 到“ws://localhost:3000/WebSocket”的WebSocket连接失败:在收到握手响应之前连接已关闭 如果我将浏览器导航到http://localhost:3000/websocket,我收到了我期待的消息。如果我导航到
http://localhost:3000/websocket
,我收到了我期待的消息。如果我导航到ws
URL,我会得到ERR\u DISALLOWED\u URL\u方案
。因此,似乎服务器正在生成消息,但客户端正在尝试错误的协议
如何强制客户端使用
http
协议而不是ws
,或者强制服务器使用ws
而不是http
,通过深入源代码最终找到了答案。构造函数的第二个参数称为use\u websockets
,默认为true
。将其设置为false
显然会强制它使用http
,而不是ws
var dispatcher = new WebSocketRails('localhost:3000/websocket',false);
通过深入研究源代码最终找到了答案。构造函数的第二个参数称为
use\u websockets
,默认为true
。将其设置为false
显然会强制它使用http
,而不是ws
var dispatcher = new WebSocketRails('localhost:3000/websocket',false);
我花了一段时间才找到这个答案。这对我没用。我花了一段时间才找到这个答案。否则我就不行了。