Socket.io 找不到本地主机

时间:2021-06-02 04:22:00

标签: node.js socket.io localhost http-status-code-404

我正在关注 this basic tutorial,当我很快发现 socket.io 似乎没有检测到我的 index.html 并且 localhost 给出错误消息 404。所以也许我输入错误,因此我复制了 {{ 3}} 来自教程,但同样的问题仍然存在。我错过了什么?

1 个答案:

答案 0 :(得分:1)

Socket.io 本身只响应 socket.io 请求,而不是常规网页请求。因此,如果您希望您的服务器既能与 socket.io 一起工作,又能成为一个常规的 Web 服务器来提供网页服务,那么您需要将常规的 Web 服务器与您的 socket.io 代码集成在一起。

socket.io 网站上有一个示例说明如何使用 socket.io WITH Express like here。基本概念(来自 socket.io 文档)是这样的:

const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = new Server(server);

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html');
});

io.on('connection', (socket) => {
  console.log('a user connected');
});

server.listen(3000, () => {
  console.log('listening on *:3000');
});