网络错误12152:Edge和IE 11中的WebSockets

时间:2015-10-12 11:34:08

标签: javascript internet-explorer websocket microsoft-edge

我有一个使用websockets secure(WSS)的网站,并且在chrome中运行良好。

在IE和Edge中的测试也可以在浏览器控制台中使用Network Error 12152,如果实现,也会触发websocket.addEventListener("error",function(){})

一切确实有效我只是得到了这个似乎没有破坏任何东西的错误。

从浏览器端关闭套接字时触发错误

EDGE中的标题 enter image description here

更多信息:我使用的代码示例

//connect via wss then
ws.addEventListener("error",function(event){ // this hits when Socket is closed})
ws.addEventListener("open",function(){
       ws.addEventListener("message",function(event){
        //do stuff
        ws.Close()
       })
})

进一步确认问题

我去了https://www.websocket.org/echo.html边缘的网站,它有能力测试websocket连接。我让它连接到我的服务器。这可以毫无问题地打开连接。然而,就像我的代码一样,我遇到了问题。单击断开连接按钮时,此站点也会引发错误。见下图。这是IE / Edge中的错误吗? enter image description here

我的服务器没有正确断开连接? 我使用上面的网站与默认目的地(他们的websocket服务器),而不是我的。没有错误。但是当断开连接到我的时候会出现错误。

可能是什么问题?

由于

2 个答案:

答案 0 :(得分:2)

查看Microsoft知识库文章,您没有回复连接设置中的预期响应/标题

来自microsoft knowledge base

  

12152 ERROR_HTTP_INVALID_SERVER_RESPONSE

     

无法解析服务器响应。

如果您查看服务器握手响应部分,请从developper docs of mozilla

  

当它收到这个请求时,服务器应该发送一个非常奇怪(但仍然是HTTP)的响应,看起来像这样(记住每个标题以\ r \ n结尾并在最后一个之后放一个额外的\ r \ n ):

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

因此,我建议您检查标题,看看您在握手时发送的回复,以便与协议保持一致。

答案 1 :(得分:0)

我在IE浏览器中修复了同样的错误。检查websocket第一个字母的大小写。

  • 非IE浏览器:

    Upgrade: **w**ebsocket

  • IE浏览器:

    Upgrade: **W**ebsocket