我的WebSocket实现在Chrome和Firefox中正确工作。
在IE11中,我得到了以下错误:
Websocket错误:网络错误12152,服务器返回无效或无法识别的响应。
我使用js WebSocket类以及reactPhp和https://github.com/ratchetphp/RFC6455作为后端。
这是IE下的请求响应数据.在我看来没问题。

我检查了Websocket返回代码1006和空的原因。
如何修复IE11错误?
问题是,在响应头中,我应该只返回Sec-WebSocket-协议中的一个协议。
为什么它不只是在IE下工作-因为我通过comma+space在后端拆分协议,但是IE返回没有空格的协议,只有逗号分隔符。其他浏览器使用comma+space返回协议。
例如,后端的代码如下所示:
array_map('trim',headers( ',‘,$this->headers’‘Sec WebSocket-Protocol’));
发布于 2016-11-24 07:33:39
问题是,在响应头中,我应该只返回Sec-WebSocket-协议中的一个协议。
为什么它不只是在IE下工作-因为我通过comma+space在后端拆分协议,但是IE返回没有空格的协议,只有逗号分隔符。其他浏览器使用comma+space返回协议。
例如,后端的代码如下所示:
array_map('trim', explode(',', $this->headers['Sec-WebSocket-Protocol']));https://stackoverflow.com/questions/40719211
复制相似问题