与 <url> 的 WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:404

WebSocket connection to <url> failed: Error during WebSocket handshake: Unexpected response code: 404

本文关键字:WebSocket 出错 响应 代码 意外 失败 url 连接      更新时间:2023-09-26

我是WebSocket和Node.js的新手。我正在尝试创建实时聊天作为基本程序。我基本上我的代码基于这里。我在 Amazon Linux 中运行我的代码,以便它作为真正的 Web 服务器运行。输入用户名后,我总是收到错误。

我使用node-static作为我的索引.html文件的静态服务器API。

这是我的javascript代码:app.js这是我的索引代码.html位于"公共"文件夹内:索引.html我总是在索引.html的第 15 行收到错误。

谁能告诉我那里有什么问题?我尝试将该部分移动到connectToChat()函数内的任何地方,但错误仍然存在。

您调用的 url 有错误。它必须ws://<mywebserver>:8000而不是ws://<mywebserver>:8000/index.html

要修复它,请在 index.html 中更改此行

var url = document.URL.replace("http://", "ws://");

var url = document.origin.replace("http://", "ws://");

我遇到了同样的问题。我能够通过将客户端脚本指向真实 IP 来修复它。这不是最好的解决方案,但目前会这样做。

let socket = io('http://000.000.000.000:0000');

希望对您有所帮助!