Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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
Javascript HTML5 WebSocket和代理配置_Javascript_Html_Google Chrome_Proxy_Websocket - Fatal编程技术网

Javascript HTML5 WebSocket和代理配置

Javascript HTML5 WebSocket和代理配置,javascript,html,google-chrome,proxy,websocket,Javascript,Html,Google Chrome,Proxy,Websocket,我使用的是Debian7和谷歌浏览器Chrome(35)。 当我试图通过回音测试时 控制台中有一个错误: WebSocket connection to 'ws://echo.websocket.org/?encoding=text' failed: Failed to send WebSocket frame. 我的电脑在Squid 3代理的后面,但同一代理后面的其他用户可以通过上的回显测试(Squid配置对于每个用户都是相同的) 如何调试此问题 我已经关闭了所有反向代理服务器(nginx

我使用的是Debian7和谷歌浏览器Chrome(35)。 当我试图通过回音测试时 控制台中有一个错误:

WebSocket connection to 'ws://echo.websocket.org/?encoding=text' failed: Failed to send WebSocket frame. 
我的电脑在Squid 3代理的后面,但同一代理后面的其他用户可以通过上的回显测试(Squid配置对于每个用户都是相同的)

如何调试此问题

我已经关闭了所有反向代理服务器(nginx、apache)

如果我在Google chrome控制台中编写以下代码:

socket = new WebSocket("ws://echo.websocket.org/");
然后我在网络页面(谷歌chrome开发工具)中看不到任何帧(没有手工破解阶段)

更新:

有趣的是,websockets连接在最新版本的Iceweasel浏览器(Firefox)上对我有效,但在Google Chrome或Chrome上不起作用

我使用以下命令启动Google Chrome:

/usr/bin/google-chrome-stable %U --proxy-server="http://172.16.20.12:4554"
还可以做些什么?
非常感谢。

握手不是帧,只是简单的HTTP。如果您启动了Websocket连接,服务器返回HTTP 101交换协议响应,即握手


您是否尝试过使用WSS://而不是WS://

谢谢你的回复。是的,wss的情况也一样。有趣的是,websockets连接在最新版本的Iceweasel浏览器(Firefox)上对我有效,但在Google Chrome或Chromium上不起作用。这很奇怪,因为该服务器没有实现任何扩展,所以应该是相同的。如果你找到了,请发布解决方案,这很有趣:)我也有同样的问题。我相当肯定这是Chrome中的一个bug。不过,您应该检查的一件事是,在代理设置中,您没有选中“将此代理用于所有协议”复选框。这会将您的HTTP代理注册为SOCKS代理,websockets将尝试使用该代理,但失败。几个月前这是我的问题,但我修复了它,让websocket在chrome中工作了一段时间,但几周前它停止了工作。正如我所说,Chrome on*NIX中可能存在回归错误(这在windows上有效)。