编程语言
首页 > 编程语言> > javascript – WebSocket到localhost无法在Microsoft Edge上工作

javascript – WebSocket到localhost无法在Microsoft Edge上工作

作者:互联网

我创建了一个简单的WebSocket服务器,并尝试使用以下代码连接到它:

function test(name) {
    var ws = new WebSocket('ws://localhost:1234');
    ws.onopen = function () {
        ws.send('Hello from ' + name);
    }
}
test('Edge');

这在Windows10上的Chrome和IE11上运行良好但是当我从Edge尝试时,没有调用onopen函数,而是最终我得到以下错误:

SCRIPT12029: WebSocket Error: Network Error 12029, A connection with the server could not be established

这发生在Edge的12.10240版本中.

有关here的问题类似,但错误信息不同.

我试过的事情:

> IP – localhost,127.0.0.1,实际IP
>允许localhost环回标志 – 打开和关闭

尝试与其他计算机通信时,不会发生此问题.

这是Edge中的缺陷还是我做错了什么?

解决方法:

我遇到了类似的问题,但实际上是在浏览器中导航到页面时.我可以使用短语localhost,它工作正常,但当我使用我的机器名称时,我没有工作.我发现this forum,他们建议您在管理员提示符中运行以下命令:

CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

为我工作.以为您可能会看到某种形式的同一问题.

正如论坛建议的那样,您现在也可以通过打开Edge并导航到“about:flags”,然后在“Developer Settings”下勾选“Allow localhost loopback(这可能会使您的设备面临风险)”.应该感觉比将随机内容粘贴到命令提示符更安全一些.

编辑:正如下面指出的tresf,about:flags中的loopback复选框似乎已停止工作(作为修复),因此您将使用CheckNetIsolation命令使Edge免除.

标签:microsoft-edge,javascript,websocket
来源: https://codeday.me/bug/20191005/1855934.html