【问题标题】:Failed to load resource: the server responded with a status of 404 (Not Found) Node.js socket.io加载资源失败:服务器响应状态为 404 (Not Found) Node.js socket.io
【发布时间】:2021-05-06 16:27:58
【问题描述】:

我正在尝试使用Node.jssocket.io 创建一个服务器,它可以完美启动。然而,当我试图通过浏览器访问我的服务器的站点时,他写了“Cannot Get /”并在控制台中给出了一个错误“Failed to Load Resource: The Server Respondd with A Status of 404 (Not Found)”。这两天我试图了解问题出在哪里,我将非常感谢您的帮助。这是我的服务器代码:

const express = require("express");
var http = require("http");
const app = express();
const port = process.env.PORT || 5000;
var server = http.createServer(app);
var io = require("socket.io").listen(server);

//middlewre
app.use(express.json());

io.on("connection", (socket) => {
    console.log("connected");
    console.log(socket.id, "has joined");
    socket.on("/test", (msg) => {
        console.log(msg);
    })
});

server.listen(port, "0.0.0.0", () => {
    console.log("server started");
});

【问题讨论】:

    标签: javascript node.js express socket.io


    【解决方案1】:

    您的服务器当前未设置为处理 Websocket 连接升级请求以外的任何其他 http 流量,您无法通过在浏览器中输入 url 来进行。此外,浏览器无法协商此连接升级或保持 Websocket 连接在建立后正常工作。为此,您需要在客户端运行一些 javascript 代码。

    socket.io 库提供了您需要的一切,请查看下面提供的链接中的最低工作示例。您基本上应该设置您的服务器以提供一个 html 文档,该文档提供一个上下文,可以通过socket.io 库管理整个 websocket 连接升级以及维护连接。

    https://socket.io/docs/v2#Minimal-working-example

    【讨论】:

    • 好的,我明白了。非常感谢!
    猜你喜欢
    • 2018-06-08
    • 2021-07-22
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 2014-09-25
    相关资源
    最近更新 更多