【问题标题】:Can't connect to the websocket server无法连接到 websocket 服务器
【发布时间】:2019-11-27 09:44:25
【问题描述】:

我是前端 websocket 的新手。这个问题可能很愚蠢:) 下面的 html 文件是用来试用 websocket 的。如果此页面是从后端 Web 服务呈现的,则可以成功建立连接。但是如果用浏览器从磁盘打开这个文件,就无法建立连接。

<!-- websockets.html -->
<input id="input" type="text" />
<button onclick="send()">Send</button>
<pre id="output"></pre>
<script>
    var input = document.getElementById("input");
    var output = document.getElementById("output");
    var socket = new WebSocket("ws://localhost:8081/echo");

    socket.onopen = function () {
        output.innerHTML += "Status: Connected\n";
    };

    socket.onmessage = function (e) {
        output.innerHTML += "Server: " + e.data + "\n";
    };

    function send() {
        socket.send(input.value);
        input.value = "";
    }
</script>

【问题讨论】:

    标签: javascript node.js websocket


    【解决方案1】:

    此问题的根本原因是来源检查。如果从本地文件系统打开文件,则来源将与服务端不同。如果在服务器端禁用 checkOrigin,则可以建立 websocket 连接。

    【讨论】:

      猜你喜欢
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 2018-07-05
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多