Microsoft Edge Websockets:30 秒后出现“SCRIPT12030”错误

Posted

技术标签:

【中文标题】Microsoft Edge Websockets:30 秒后出现“SCRIPT12030”错误【英文标题】:Microsoft Edge Websockets: "SCRIPT12030" error after 30secs 【发布时间】:2018-02-14 14:00:22 【问题描述】:

我正在开发一个 Angular 5 应用程序,它通过 Websocket 连接与服务器(物联网设备)通信,发送和接收 JSON 消息。

该应用程序在 Firefox、Chrome 和 Opera 上运行良好 - 但在 Microsoft Edge 中,连接会在 30 秒的空闲时间后关闭,并显示以下错误消息:

SCRIPT12030: WebSocket Error: Network Error 12030, The connection with the server was terminated abnormally

附加信息:

物联网设备在局域网中,所以没有使用代理 在 websocket 连接不活动 30 秒后连接关闭 没有区别,如果我使用“ws://”或“wss://” Angular 应用程序的其他部分工作正常 Edge 的版本是 40.15063.674.0,Edgehtml 15.15063

如何保持连接打开?

【问题讨论】:

Edge 似乎向服务器发送了 Pong 消息,但服务器没有响应它们,因此 Edge 关闭了连接。服务器也不发送 Ping 消息 -> 所以不需要 Pong。 【参考方案1】:

Microsoft Edge 发送“Pong”消息 - 即使之前没有“Ping”消息。

物联网设备无法解析“Pong”消息并关闭了 websocket 连接。

如果之前是“Ping”消息,其他浏览器只会响应“Pong”消息。作为解决方案,我们在 IoT 设备中实现了 Ping/Pong-。

【讨论】:

以上是关于Microsoft Edge Websockets:30 秒后出现“SCRIPT12030”错误的主要内容,如果未能解决你的问题,请参考以下文章

对 Microsoft WebSockets 命名空间感到困惑

跨浏览器服务器发送事件,或替代方案,包括 Microsoft 浏览器

windows 10中Microsoft Edge Beta登录账户提示:以管理员身份运行 Microsoft Edge 时不支持登录。请以非管理员身份重新启动 Microsoft Edge,然后重新

最新Microsoft Edge!使用chromium内核

如何在Linux中安装Microsoft Edge浏览器

新版 Microsoft Edge 浏览器介绍