Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
websocket rails:服务器发出http://协议;客户端需要ws://协议_Websocket_Websocket Rails - Fatal编程技术网

websocket rails:服务器发出http://协议;客户端需要ws://协议

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,我收到了我期待的消息。如果我导航到

发件人:

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

我第一次使用WebSocketRails。我在客户端中遇到以下错误:

到“ws://localhost:3000/WebSocket”的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);

我花了一段时间才找到这个答案。这对我没用。我花了一段时间才找到这个答案。否则我就不行了。