我的 socket.io 设置为 express 不工作

Posted

技术标签:

【中文标题】我的 socket.io 设置为 express 不工作【英文标题】:My socket.io set up with express not working 【发布时间】:2022-01-15 22:37:49 【问题描述】:

我有一个 express 应用程序正在运行,我想添加 socket.io 以获得实时功能。所以我在socket.io 上关注了get started。但不知何故,它不起作用。

谢谢!

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');
);

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

【问题讨论】:

【参考方案1】:

我曾经犯过这个错误。你应该在server而不是app上调用listen函数。

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

【讨论】:

以上是关于我的 socket.io 设置为 express 不工作的主要内容,如果未能解决你的问题,请参考以下文章

Express.js、bin/www 设置和 Socket.io

在 node.js 中,如何使用 socket.io 和 express 设置 redis?具体使用 RedisStore()

与 socket.io 一起使用时 express-session 未设置会话 cookie

使用Socket.IO以及Express和NodeJS导出

如何设置最大值。 socket io 的客户端?

无法从带有 Socket.IO 的 cookie 中获取 Express 会话 ID