你可以使用http与快速程序,并随后连接插座通过http连接,你可以听这些课题的内部 io.on('connection')
const app = require("./app");
const mongoose = require("mongoose");
const http = require('http').Server(app);
const io = require('socket.io')(http);
mongoose
.connect(`mongodb://localhost:27017/${process.env.DATABASE}`)
.then(() => {
app.listen(process.env.PORT);
io.on('connection', socket => {
console.log('socket connected',socket);
});
})
.catch((err) => {
console.error(`connection failed: ${err}`);
});
我会更喜欢这种方式二:
App.js
const express = require("express");
const pug = require("pug");
const app = express();
module.exports = app;
Server.js
const app = require("./app");
const realtime = require("./realtime");
const mongoose = require("mongoose");
const server = require("http").Server(app);
mongoose
.connect(`mongodb://localhost:27017/${process.env.DATABASE}`)
.then(() => {
app.listen(process.env.PORT);
require("./realtime.js")(server);
})
.catch((err) => {
console.error(`connection failed: ${err}`);
});
Realtime.js
module.exports = (app) => {
const io = require("socket.io")(app);
io.on("connection", (socket) => {
console.log("Socket connected")
})
};